繁体   English   中英

SQL-获取每个用户的最高价值(DISTINCT吗?)

[英]SQL - Get top value for each user (DISTINCT ?)

我有一个包含MySQL表userIDscore
一个用户可以有很多分数,但是当然可以有很多用户。

我想检索数据库中每个 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM