gpt4 book ai didi

mysql使用内部连接选择最高的唯一值

转载 作者:行者123 更新时间:2023-11-29 05:33:51 26 4
gpt4 key购买 nike

我有 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)。

非常感谢!

最佳答案

您应该将聚合函数 MAX()group by 子句一起使用。

SELECT  a.name, MAX(b.`time`) maxTime
FROM users a
INNER JOIN highscores b
on a.uid = b.user_id
GROUP BY a.name

SQLFiddle Demo

关于mysql使用内部连接选择最高的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12456235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com