[英]Order by highest number of records in a field in mysql
我想从如下所示的MySQL数据库订购表的内容。
name,h1,h2
a,f1,3
a,g3,5
a,h3,4
b,g3,4
c,h5,2
c,j12,6
我想获取名称列中每个元素的长度,即“ a”的长度为3(因为它与三行数据相关联),并获取前2个元素的数据 (此处包括a的3行和c的2行,因为它们具有最大长度的降序排列。 因此所需的输出如下所示
name,h1,h2
a,f1,3
a,g3,5
a,h3,4
c,h5,2
c,j12,6
如何在MySQL中实现?
加入前两个记录的计数将为您提供结果。
select
t.*
from
table1 t
inner join (select
name,
count(*) as cnt
from table1
group by name
order by count(*) desc
limit 2) as c on t.name = c.name
order by c.cnt desc
这是一个小提琴
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.