gpt4 book ai didi

mysql - 当有多个最大值时仅选择 1 行

转载 作者:行者123 更新时间:2023-11-29 12:38:24 25 4
gpt4 key购买 nike

我想选择 A 列中的最大值。现在,我在 A 列中有多个最大值。如何才能只取 1 行包含最大值的行并去掉其余行?我尝试使用 distinctlimit 1 但没有成功。

预期:只有 2 行,其中 1 行包含消息“srth”,另一行包含“the-same-ts-1”或“the-same-ts-2”,但不能同时包含两者,因为它们具有相同的最大 ts 1413588888

我的查询:

SELECT A.*, DU.user as username, DU.thumbnail 
FROM DB_CHATS A
INNER JOIN (
SELECT distinct max(timestamp) TS, user, partner
FROM db_chats
GROUP BY user,partner ) T
on A.TimeStamp=T.TS
and A.user=T.User
LEFT JOIN db_users DU on t.partner = DU.id
where A.user = 'utQ8YDxD6kSrlI5QtFOUAE4h'

fiddle :sqlfiddle

最佳答案

如果您不关心返回哪一行具有最大时间戳,则可以将按用户、合作伙伴、时间戳分组添加到查询末尾。

SELECT A.*, DU.user as username, DU.thumbnail 
FROM DB_CHATS A
INNER JOIN (
SELECT distinct max(timestamp) TS, user, partner
FROM db_chats
GROUP BY user,partner ) T
on A.TimeStamp=T.TS
and A.user=T.User
LEFT JOIN db_users DU on t.partner = DU.id
where A.user = 'utQ8YDxD6kSrlI5QtFOUAE4h'
group by user, partner, timestamp

http://sqlfiddle.com/#!2/efe6e/2

关于mysql - 当有多个最大值时仅选择 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26433686/

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