[英]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.