如何计算每个DISTINCT?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何计算每个DISTINCT?相关的知识,希望对你有一定的参考价值。
我试图计算我得到的每次击中有多少不同。所以开始:
SELECT DISTINCT category FROM dbtable
这给了我6个不同的类别,很好。现在我想计算每一行,所以结果如下:
category, 4
category, 8
category, 12
category, 72
category, 5
category, 65
我试过了:
SELECT COUNT (DISTINCT category) FROM dbtable
这给了我第一个类别......
我被困在这里。 :)
答案
使用GROUP BY
?
SELECT category, COUNT(*) AS count
FROM dbtable
GROUP BY category;
另一答案
使用分组和计数如下:
SELECT category,count(category) FROM dbtable GROUP BY category
另一答案
您需要添加GROUP BY:
SELECT category, COUNT(*) FROM dbtable GROUP BY category
请注意:
- 您需要GROUP BY来收集数据,以便DB服务器可以计算每一行并按类别对其进行过滤,而服务器不知道要计算哪些行;
- 您必须记住,Group By子句将始终位于SQL查询的末尾,就像Order by子句一样。
- 你不需要DISTINCT,因为GROUP BY可以完成这项工作。 (谢谢jarlh)
你可以在这里找到更多关于小提琴的解释:https://www.w3schools.com/sql/sql_groupby.asp
另一答案
试试这个 :-
SELECT category, COUNT(1) FROM dbtable GROUP BY category
如果你想要特定的计数记录然后试试这个
SELECT category, COUNT(1) FROM dbtable GROUP BY category having count(1)>10
以上是关于如何计算每个DISTINCT?的主要内容,如果未能解决你的问题,请参考以下文章