MySQL:计数不同值的发生

我试图find一个MySQL查询,将查找特定字段中的不同值,计数该值的出现次数,然后按计数sorting结果。

示例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 

谢谢

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

那么这样的事情呢?

 select name, count(*) as num from your_table group by name order by count(*) desc 

即你正在select名字和出现的次数; 但按名称分组,因此每个名称只被选中一次。

那么,你按次数sorting,desc; 让最频繁出现的用户排在第一位