如何根据特定列中出现的次数对mysql表进行排序?
示例表:
ID Name
1 Alfred
2 Alfred
3 Burt
4 Alfred
5 Jill
6 Jill
7 Jill
8 Jill
9 Burt
排序后的表应该如下所示,因为"Jill“是出现最多的名称,所以应该先排序,以此类推:
ID Name
5 Jill
6 Jill
7 Jill
8 Jill
1 Alfred
2 Alfred
4 Alfred
3 Burt
9 Burt
发布于 2014-07-16 20:46:50
您必须将信息输入查询中。这通常是使用join
完成的。
select e.*
from example e join
(select name, count(*) as cnt
from example
group by name
) en
on e.name = en.name
order by cnt desc, e.name, e.id;
请注意,order by
不仅是由计数命令的。它也是按名字订购的。如果两个名字有相同的计数,那么它们将保持在一起。
https://stackoverflow.com/questions/24790351
复制相似问题