我下面的表格有列表的郵件查詢。我想得到每個對話的最後一條消息。請幫助正確的查詢來獲得它。麻煩找到每個會話
ID ID2 User1 User2 Message TimeStamp
---- ----- ------- ------- ------------------------- ------------------------
1 1 1 2 hii March, 04 2017 8:30:00
1 2 2 1 hey bro March, 04 2017 8:31:00
1 3 1 2 hw are u? March, 04 2017 8:32:00
1 4 2 1 good,thnks4asking March, 04 2017 8:33:00
5 1 3 1 r u there? March, 04 2017 8:34:00
5 2 1 3 yup,say March, 04 2017 8:35:00
5 3 3 1 hw are u? March, 04 2017 8:36:00
5 4 1 3 m fine March, 04 2017 8:37:00
5 5 3 1 where are u these days? March, 04 2017 8:38:00
1 5 1 2 your most welcom :D March, 04 2017 8:39:00
這裏ID
是討論ID(聊天ID說,例如圖1是具有id爲1和2和5的用戶之間的討論id是對於具有id爲1的用戶之間的討論3)和ID2
是數在討論中。結果應該顯示2條消息,因爲「最受歡迎」是ID 1和2的用戶之間的最後一條消息,第2條消息「這些日子你在哪裏?」是具有ID 1和3
我試圖像
SELECT message ,MAX(id2)
FROM pm
WHERE user1=1 OR user2=1
GROUP BY id
SELECT message
FROM pm
WHERE user1=1 OR user2=1
GROUP BY id
HAVING id2=MAX(id2)
注許多查詢的用戶之間的最後一條消息:對於現在我只想來自用戶的最後(具有ID=1
)的觀點。
該表中未示出。剪下圖像並插入它。或者創建一個ASCII表格。 –
我已經讓桌子檢查出來了。 – kumar
你的問題不清楚。您正在詢問「每個會話的最後一條消息」,但您的預期輸出是兩條消息。 '你最開山鼻祖:d - >其中,這些天' 對話是兩個用戶之間。這個對話只能有最後一個消息。你爲什麼要求兩個?另外,我可以問爲什麼這個表有兩個ID列?看起來這不是一個表,而是一個SELF JOIN或連接兩個其他表的結果。 –