[英]SQL - Get top value for each user (DISTINCT ?)
我有一个包含MySQL表userID
, score
。
一个用户可以有很多分数,但是当然可以有很多用户。
我想检索数据库中每个 userID
的最高得分。
我已经尝试了以下方法,但是我觉得自己的方法有误:
SELECT DISTINCT(`userID`), `score` FROM `myTable` ORDER BY `score` DESC
任何帮助将不胜感激。
谢谢
夏嘉曦。
您需要带有group by
子句的聚合函数max
:
select
userid,
max(score) as maxscore
from
mytable
group by userid
order by maxscore desc
group by
说:“嘿,MySQL,请给我最高score
,但请按userid
划分。” 这样,您将获得每个userid
的最高分。
此外,您可以order by
名列order by
以便按最高得分,降序(排行榜或您所拥有的)获得用户列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.