簡體   English   中英

MySQL選擇列值的最大計數

[英]MySQL select max count of a column value

我有一個名為Euro_Cup的表。

[在此處輸入圖片描述] [1]

Group   Country Rank    Jersey  Position    Age Selections  Club    Player
A   Brazil  3   18  Midfielder  29  24  Internazionale      Hernanes
A   Cameroon    56  18  Midfielder  28  38  Antalyaspor     Eyong Enoh
A   Croatia 18  18  Forward 34  92  VfL Wolfsburg   Ivica Olic
A   Mexico  20  18  Defender    27  104 Bayer Leverkusen    Andres Guardado
B   Australia   62  18  Goalie  32  8   Adelaide United     Eugene Galekovic
B   Chile   14  18  Defender    28  65  Nottingham Forest   Gonzalo Jara
B   Spain   1   18  Defender    25  26  Barcelona       Jordi Alba
B   Netherlands 15  18  Midfielder  24  6   Norwich City    Leroy Fer

我必須編寫一個SQL查詢以按球員的球衣號碼對球員進行分組,然后針對每個球衣號碼組,返回該球衣號碼的最常見位置。

例如,球衣號碼18的3名中場球員,8名后衛和2個守門員,則結果應為球衣號碼18,后衛(球衣號碼為18的bcos max球員)

我努力了

 select jersey,position,count(position) as cnt 
 from euro_cup2
 group by jersey,position 
 having count(position) in 
                       (select max(cnt) from   (select jersey,position,count(position) as cnt 
                      from euro_cup2
                       group by jersey,position)a)

但這行不通。 任何幫助將不勝感激

我查看了您的所有評論,這將為您提供搜索內容:

SELECT
euro_cup2.jersey,
a.position,
MAX(cnt) as count
FROM euro_cup2
LEFT JOIN
(SELECT
   jersey,
   position,
   (COUNT(position)) AS cnt 
   FROM euro_cup2
   GROUP BY jersey,position) AS a ON euro_cup2.jersey=a.jersey
GROUP BY jersey;

結果如下:

結果在這里

問候

試試這個,應該可以

   SELECT Jersey,
   Group_concat(Position separator ','),
   Group_concat(CountOfPosition separator ',')
   FROM   (SELECT euro_cup.Jersey,
           euro_cup.Position,
           Count(euro_cup.Position) AS CountOfPosition
    FROM   euro_cup
    GROUP  BY euro_cup.jersey,
              euro_cup.Position) a
   WHERE  CountOfPosition = (SELECT Max(CountOfPosition)
                     FROM   (SELECT euro_cup.jersey,
                                    euro_cup.Position,
                                    Count(euro_cup.Position) AS      CountOfPosition
                             FROM   euro_cup
                             GROUP  BY euro_cup.jersey,
                                       euro_cup.Position) b
                     WHERE  a.jersey = b.jersey)
     GROUP  BY Jersey

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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