我有一个游戏,还有一个 MySQL 数据库表,用于存储用户的结果。每个结果都存储,但在高分页面上,我只显示某个用户的最佳结果,如下所示:
SELECT user_id,MAX(score) as score
FROM table
GROUP BY user_id
ORDER BY score DESC LIMIT $startLimit,$numPerPage
但是现在我还想让它与玩家达到一定分数的时间有关,如果分数是水平的话。
例如如果该玩家有两个相同的分数,我想抓住一个花费更少时间的那个(当然有一个专栏"时间"在此表中)。
答案 0 :(得分:0)
试试这个:
SELECT user_id,score,MIN(time) as MinTime
FROM
(SELECT user_id,MAX(score) as score,time
FROM table
GROUP BY user_id, time ) T
GROUP BY user_id,score
ORDER BY score DESC
LIMIT $startLimit,$numPerPage
如果用户得分相同,它将以最短时间返回记录。