当前位置: 首页 > 知识库问答 >
问题:

如何从sql查询中获得每种类型的“分数”列表?

长孙鸿振
2023-03-14

我试图获得一个返回“加权分数”的表,该表带有我为以下模式的每种类型设计的公式:

收藏夹:userID,drinkName

SELECT (
( SELECT COUNT(*)
  FROM   Drink D JOIN History  H ON H.drinkName = D.name
    WHERE  type = 'vodka' AND userID = 'sai') 
+ 
(((SELECT COUNT(*)
    FROM   Drink D JOIN Favorite F ON F.drinkName = D.name
    WHERE  type = 'vodka' AND userID = 'sai'))*0.666))
 /  
((SELECT COUNT(*) FROM History  WHERE userID = 'sai') 
+ 
(SELECT COUNT(*) FROM Favorite WHERE userID = 'sai'))

然而,这只返回特定类型的饮料,而不是每种类型的饮料的表。

共有1个答案

徐瑞
2023-03-14

使用group by以及聚合函数来获取每个类型的合计。

SELECT type, SUM(numerator)/SUM(denominator) score
FROM (
    SELECT type, COUNT(*) numerator, COUNT(*) denominator
    FROM History
    WHERE userID = "sai"
    GROUP BY type
    UNION ALL
    SELECT type, (COUNT(*) * 0.666) numerator, COUNT(*) denominator
    FROM Favorites
    WHERE userID = "sai"
    GROUP BY type
) u
GROUP BY type
 类似资料:
  • 我正在使用Astyanax使用CQL3查询来查询Cassandra,它工作得很好。 前面的代码是连接的一部分,现在,我想执行查询并获取数据,但我不知道我希望查询中的数据类型,因此我不知道使用什么方法来获取值,如下面所示,我不知道是否需要使用、、等。 有没有办法让我知道这件事?使用这个API,或者使用不同的API。 谢谢你。

  • 我正在创建一个strutsHibernate应用程序。我使用hibernate查询获得了一个列表,并将其传递到action类中。但我不知道如何在JSP中显示它。 我已经在查询的基础上成功地得到了列表。现在我想用JSP显示这个列表。 我已经发布了<code>支柱。xml和用于显示结果的JSP。请检查。但在JSP中没有显示任何内容。我使用来显示列表。但没有运气。甚至我也尝试过在下打印简单文本,只是为了

  • 问题内容: 我有一个十进制值34.3287332,如何获得.3287332之类的值的分数,请任何一位帮助(我可以将其转换为字符串并获取分数。但我不需要) 问题答案: 我只是获取整个值,然后得到其余的值: (获得剩余部分可能有更有效的方法,但这很简单。) 尽管您也可以在SQL中执行此操作,但是当您想使用LINQ to SQL或类似的方法获取值时,这种方法的效果可能会不太好- 我更喜欢将值操作放在.N

  • 问题内容: 我在Oracle数据库11g中使用Pl / SQL。 我正在编写一个将select语句作为参数(varchar2)的函数。该函数使用for循环遍历行并将格式应用于特定的列,并输出整个内容。基本上,我需要某种方式来获取列名,以便可以在顶部显示它们。我知道有多种方法可以对表执行此操作,但是由于传入了此查询,因此可能未选择所有列,可能已使用别名等。 有没有一种方法可以从此查询中选择列名? 理

  • 问题内容: 如何获得查询中错误的位置? 我需要在导致错误的查询字符串中获取位置,就像这样: 我怎样才能做到这一点? 问题答案: 当我几乎失去希望时,经过一番漫长的闲逛,我发现了以下链接(感谢Google中正确的搜索字符串):https : //forums.oracle.com/thread/1000551

  • 问题内容: 嘿,我只是学习了如何将SQL语句放入VBA(或至少将它们写出),但是我不知道如何获取返回的数据? 我有一些基于查询的表格(图表形式),这些查询针对的是我定期运行的常规参数,只是更改了时间范围(例如,当月交易量排名前10位的商品)。然后,我有一些将图表对象自动传输到PowerPoint演示文稿中的过程。因此,我已经预先构建了所有这些查询(例如63),并且要匹配图表格式(嗯,是的....