我有一个MySQL表,其中包含userIDscore
一个用户可以有很多分数,当然也可以有很多用户。
我想检索数据库中每个userID的最高分数。
我试过以下方法,但我觉得我走错了路:

SELECT DISTINCT(`userID`), `score` FROM `myTable` ORDER BY `score` DESC

如有任何帮助,将不胜感激。
谢谢
谢伊。

最佳答案

您需要带max子句的聚合函数group by

select
    userid,
    max(score) as maxscore
from
    mytable
group by userid
order by maxscore desc

group by说,“嘿,MySQL,给我最大的score,但是用userid划分它”这样,你就得到每个userid的最大得分。
此外,您还可以order by别名列,这样您就可以按最大得分、降序(对于排行榜或您所拥有的内容)获得用户列表。

关于mysql - SQL-获取每个用户的最高值(value)(DISTINCT吗?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8792559/

10-16 20:42