如何获取mysql表中出现次数最多的项目

时间:2015-10-22 14:16:34

标签: mysql

我有一张产品表,如下所示:

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万条记录的表上执行。谢谢!

2 个答案:

答案 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