我想在列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