Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按mysql中字段中的最高记录数排序_Mysql_Sql_Select_Sql Order By - Fatal编程技术网

按mysql中字段中的最高记录数排序

按mysql中字段中的最高记录数排序,mysql,sql,select,sql-order-by,Mysql,Sql,Select,Sql Order By,我想从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个元素的数据(这里它包括3行表示a的数据,2行表示c的数据,因为它们按降序排列的长度最高)。因此,所需的输出如下所示 name,h1,h2 a,f1,3 a,g3,5 a,h3,4 c,h5,2 c,j12,6 在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个元素的数据(这里它包括3行表示a的数据,2行表示c的数据,因为它们按降序排列的长度最高)。因此,所需的输出如下所示

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

这里是一个

“a”的长度应该是2(因为它有三行相关数据)“2的长度与3的关系如何?我发现很难理解您的示例,因为您的输出缺少原始记录,我们讨论的只是排序。很抱歉,这是一个错误。我后来编辑了,在a中添加了一个额外的行@dasblinkenlight@paqogomez我需要排序并选择顶部记录(这将排除“b”行)。我希望我有意义。好的,那么“顶部记录”的定义是什么?@abn注意,我在最终订单上添加了描述,并添加了一个工作小提琴示例。