我有一张产品表,如下所示:
id name quantity
1 shoe 2
2 pen 1
3 shoe 1
4 glass 3
5 pen 4
6 shoe 2
我希望得到表中更多的项目及其占用的行数或表中重复的次数。
在上表的情况下,shoe
出现的次数最多,即3次。我需要允许我这样做的mysql查询(在上面的例子中返回3)。
请考虑性能,因为此查询将在具有大约1000万条记录的表上执行。谢谢!
答案 0 :(得分:3)
SELECT name,count(*) FROM products GROUP BY name ORDER BY count(*) DESC limit 1
这可能有用
答案 1 :(得分:0)
基本的GROUP BY
会:
select top 1 name, count(name), sum(quantity)
from XX
group by name
order by count(name) desc