我正在尝试查找一个MySQL查询,该查询将在特定字段中找到不同的值,计算该值出现的次数,然后按计数对结果进行排序。
示例数据库
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发布于 2009-08-28 11:10:59
SELECT name,COUNT(*) as count
FROM tablename
GROUP BY name
ORDER BY count DESC;发布于 2009-08-28 11:11:38
下面这样的内容如何:
SELECT
name,
count(*) AS num
FROM
your_table
GROUP BY
name
ORDER BY
count(*)
DESC您正在选择名称及其出现的次数,但按名称分组,以便每个名称只被选择一次。
最后,您按DESCending顺序中的次数进行排序,使出现频率最高的用户排在第一位。
发布于 2018-02-27 04:05:55
为了获得更好的性能,刚刚将琥珀的COUNT(*)改为COUNT(1)。
SELECT name, COUNT(1) as count
FROM tablename
GROUP BY name
ORDER BY count DESC;https://stackoverflow.com/questions/1346345
复制相似问题