当前位置: 首页 > 面试题库 >

在单个查询中获取记录的计数百分比

黄意智
2023-03-14
问题内容

参考这个问题:

在一列中获取项目及其值的计数

我如何在单个查询中获得记录计数的百分比,如下所示:

ItemId        count          Percent
------------------------------------
   1            2              33.3
   2            0                0
   3            1              16.6
   4            3              50.0

谢谢


问题答案:

COUNT(*) OVER() 给你总数。

编辑 但是实际上,您需要SUM(COUNT(MyTbl.ItemID)) OVER()对该列中的值求和。

SELECT Items.ItemID,
       [count] = COUNT(MyTbl.ItemID),
       [Percent] = 100.0 * COUNT(MyTbl.ItemID) / SUM(COUNT(MyTbl.ItemID)) OVER()
FROM   (VALUES (1,'N1'),
               (2,'N2'),
               (3,'N4'),
               (4,'N5')) Items(ItemID, ItemName)
       LEFT JOIN (VALUES(1),
                        (1),
                        (3),
                        (4),
                        (4),
                        (4)) MyTbl(ItemID)
         ON ( MyTbl.ItemID = Items.ItemID )
GROUP  BY Items.ItemID
ORDER  BY Items.ItemID


 类似资料:
  • 有没有办法在Amazon Kinesis中找到给定流的每个碎片中的记录数?有启用增强监控可用,但我无法找到在cloudwatch中显示碎片id的方法,如果这是一个选项的话。

  • 本文向大家介绍SQL Server数据库按百分比查询出表中的记录数,包括了SQL Server数据库按百分比查询出表中的记录数的使用技巧和注意事项,需要的朋友参考一下 SQL Server数据库查询时,能否按百分比查询出记录的条数呢?答案是肯定的。本文我们就介绍这一实现方法。 实现该功能的代码如下: 或 创建存储过程的语法类似带指针的C#,创建时参数表用小括号括起,输出参数带传递方向的参数标识 O

  • 问题内容: 我想结合两个查询 然后计算百分比(将第二个查询除以第一个查询)。我想在一个查询中实现这一目标。到目前为止我尝试过的是: 我得到的是: 我想要的是: 问题答案: 这应该给您您想要的: 编辑:没注意到这是为Access。我不知道Access中是否可用,因此您可能需要使用一个等效函数来确保整数不会简单地产生1或0。Access可能会自动将除法转换为小数,但在SQL Server则不然。

  • 问题内容: 我有以下查询,其结果对我来说是非常意外的: 它为所有行返回100。应该不同吗? 问题答案: 等于您的情况。 尝试这样的事情: update :甚至用ratio_to_report更简单

  • 问题内容: 我正在尝试在单个查询中计算两列,但结果却为medcount和uploadcount吐出了相同的值。有什么建议? 问题答案: 使用:

  • 我是使用NodeJS的这个cassandra数据库的新手。