[英]Counting distinct items within a category on SQL
我需要编写一个SQL语句,如下所示:
我有一个包含许多项目的表格,每个项目都有一个类别。 总共有3个类别。
我需要选择DISTINCT类别,然后按每个类别中的项目数量排序。
这会是一个好方法吗? 还是太慢了?
SELECT DISTINCT category, count(*) AS counter
FROM item_descr
GROUP BY category
ORDER BY counter DESC
由于您使用GROUP BY category
因此不需要DISTINCT
:
SELECT category, count(*) AS counter
FROM item_descr
GROUP BY category
ORDER BY counter DESC
GROUP BY
正在做你想要的。 DISTINCT
是多余的。
如果要获得良好的性能(尤其是在较大的表上),则在类别上建立索引非常重要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.