我有 2 个如下所示的表:
users (uid, name)
-------------------
| 1 | User 1 |
| 2 | User 2 |
| 3 | User 3 |
| 4 | User 4 |
| 5 | User 5 |
-------------------
highscores (user_id, time)
-------------------
| 3 | 12005 |
| 3 | 29505 |
| 3 | 17505 |
| 5 | 19505 |
-------------------
我只想查询具有高分的用户,并且只查询每个用户的最高分。结果应如下所示:
------------------------
| User 3 | 29505 |
| User 5 | 19505 |
------------------------
我的查询如下所示:
SELECT user.name, highscores.time
FROM user
INNER JOIN highscores ON user.uid = highscores.user_id
ORDER BY time ASC
LIMIT 0 , 10
实际上,这会返回同一用户的多个高分。我也尝试将它们分组,但它没有工作,因为它没有返回最好的结果,而是一个随机的结果(例如:对于用户 id 3,它返回 17505 而不是 29505)。
非常感谢!