簡體   English   中英

按mysql中字段的最高記錄數排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM