我有一个MySQL表,其中包含userID
,score
。
一个用户可以有很多分数,当然也可以有很多用户。
我想检索数据库中每个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/