我想在列A中选择最大值。现在,在列A中有多个最大值。我怎样才能用最大值取1行并将其余的关闭?我尝试使用distinct
和limit 1
没有成功。当多个最大值时只选择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'
小提琴:sqlfiddle
假设你的查询是正确的 - 究竟是用'限1'问题? – dognose 2014-10-17 21:33:19
它仍然返回2行。也许我把它放错了?我把它放在'GROUP BY用户,伙伴' – Patrick 2014-10-17 21:35:41