MySQL:计算DISTINCT值的出现次数

MySQL:计算DISTINCT值的出现次数

我试图找到一个MySQL查询,它将在特定字段中找到DISTINCT值,计算该值的出现次数,然后按计数对结果进行排序。


示例db


id         name

-----      ------

1          Mark

2          Mike

3          Paul

4          Mike

5          Mike

6          John

7          Mark

预期结果


name       count

-----      -----

Mike       3

Mark       2

Paul       1

John       1


莫回无
浏览 1040回答 3
3回答

守候你守候我

SELECT name,COUNT(*) as count FROM tablename GROUP BY name ORDER BY count DESC;

慕标5832272

这样的事情怎么样:select name, count(*) as numfrom your_tablegroup by nameorder by count(*) desc即,您正在选择名称和出现的次数; 但按名称分组,因此每个名称只选择一次。然后,你按次数订购,desc; 让出现频率最高的用户排在第一位。

噜噜哒

刚刚将Amber的COUNT(*)更改为COUNT(1)以获得更好的性能。SELECT name, COUNT(1) as count  FROM tablename  GROUP BY name  ORDER BY count DESC;
打开App,查看更多内容
随时随地看视频慕课网APP