如何计算每个DISTINCT?

时间:2018-10-09 08:37:27

标签: sql sqlite

我正在尝试计算从不同广告获得的每次点击有多少次。 所以开始:

SELECT DISTINCT category FROM dbtable

那给了我6个不同的类别,很好。 现在,我想对每一行进行计数,以便结果如下所示:

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

我尝试过:

SELECT COUNT (DISTINCT category) FROM dbtable

这是我的第一个类别的数量...

在这里我被卡住了。 :)

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

使用分组依据,计数方式如下:

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

答案 2 :(得分:0)

使用GROUP BY吗?

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

答案 3 :(得分:0)

尝试一下:-

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

如果您要具体记录,请尝试

   SELECT category, COUNT(1) FROM dbtable GROUP BY category having count(1)>10