快速SQL问题!按大多数属性排序

时间:2010-02-02 08:30:09

标签: sql mysql

大家好我有两张桌子:

类别: ID - 名称 - 描述

产品 ID - 名称 - CategoryID - 描述 - 价格

我想要一个查询,该查询返回按项目表

中最多出现次数排列的类别列表

2 个答案:

答案 0 :(得分:8)

这应该可以解决问题:

SELECT c.ID, c.Name, count(i.ID)
FROM Categories c
LEFT JOIN Items i on (c.ID=i.CategoryID)
GROUP BY c.ID
ORDER BY count(i.ID)

答案 1 :(得分:1)

SELECT 
  CategoryID, count(*)
FROM 
  items
GROUP BY 
  CategoryID
ORDER BY 
  2 DESC

然后,您可以加入类别以获取其姓名。