我有一个跟踪游戏高分的应用程序.
我有一个user_scores表,用于将user_id映射到分数.
我需要返回5个最高分,但对于任何特定用户只有1个高分.
因此,如果用户X在纯数字基础上具有5个最高分数,我只返回最高分数,然后返回接下来的4个用户分数.
我试过用:
SELECT user_id, score FROM user_scores ORDER BY score DESC GROUP BY user_id LIMIT 5
但似乎MySQL丢弃任何超过1分的user_id.
这应该工作:
SELECT user_id, MAX(score) FROM user_scores GROUP BY user_id ORDER BY MAX(score) DESC LIMIT 5