MySQL:获取组的最大值

Dar*_*ius 1 mysql sql

我有一张桌子:

user_id | fav_song_genre | votes_as_fav_member
--------+----------------+--------------------
      1 | hip hop        | 3
      2 | hip hop        | 5
      3 | rock           | 8
      4 | rock           | 6
Run Code Online (Sandbox Code Playgroud)

我如何只得到每组最高votes_as_fav_member的user_id的结果fav_song_genre:

就像是

SELECT *, MAX(votes_as_fav_member) as most_votes 
FROM   table 
GROUP BY 
       fav_song_genre
Run Code Online (Sandbox Code Playgroud)

我正在使用它,但它没有给我每个类型投票最多的成员的ID.

Pau*_*tos 5

这不是MySQL的问题,而是你的方法的一些逻辑问题.

假设我们有以下内容:

user_id | fav_song_genre | votes_as_fav_member
--------+----------------+--------------------
      1 | hip hop        | 3
      2 | hip hop        | 5
      3 | rock           | 8
      4 | rock           | 6
      5 | hip hop        | 5
      6 | rock           | 8
Run Code Online (Sandbox Code Playgroud)

查询应返回哪个ID?它应该只返回一个吗?或所有票数相同的人?

所以,如果你只需要一个ID,那么平局的区别是什么?

但是Lieven几秒钟就把我的SQL分辨率打败了.