如何计算每个DISTINCT?

问题描述 投票:0回答:4

我试图计算我得到的每次击中有多少不同。所以开始:

SELECT DISTINCT category FROM dbtable

这给了我6个不同的类别,很好。现在我想计算每一行,所以结果如下:

category, 4
category, 8
category, 12
category, 72
category, 5
category, 65

我试过了:

SELECT COUNT (DISTINCT category) FROM dbtable

这给了我第一个类别......

我被困在这里。 :)

sql sqlite
4个回答
0
投票

使用GROUP BY

SELECT category, COUNT(*) AS count
FROM dbtable
GROUP BY category;

0
投票

使用分组和计数如下:

SELECT category,count(category) FROM dbtable GROUP BY category

0
投票

您需要添加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


0
投票

试试这个 :-

  SELECT category, COUNT(1) FROM dbtable GROUP BY category 

如果你想要特定的计数记录然后试试这个

   SELECT category, COUNT(1) FROM dbtable GROUP BY category having count(1)>10
© www.soinside.com 2019 - 2024. All rights reserved.