繁体   English   中英

SQL中的嵌套组和计数

[英]Nested groups and counts within SQL

我无法雄辩地解释我的最终问题,如果可以更好地描述SQL解决方案,请随时编辑此问题的标题和内容。

我在包含“项目”,“类别”列的表中有数据,并且我有以下查询来计算每个项目中不同类别的数量。

SELECT 
  [ItemID], COUNT(DISTINCT [CategoryText] ) AS 'number of categories' 
FROM [SampleTable]
GROUP BY
  ItemID

这给了我输出

`ItemID', 'number of categories'
100 1
101 3
102 1

我现在想做的是将项目数按它们具有的类别数进行分组,目的是确定“大多数项目只有一个类别吗?”

对于上面的示例,我希望结果是

'Number of categories', 'Number of items'
1, 2
3, 1

我敢肯定有一个简单的查询可以解决这个问题,但是却没有取得进展。

按类别数汇总结果。

select [number of categories], count(*) [number of items]
from (SELECT [ItemID], COUNT(DISTINCT [CategoryText]) AS 'number of categories' 
      FROM [SampleTable]
      GROUP BY ItemID) t
group by [number of categories]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM