我有一個帶有表MESSAGE的數據庫,它包含我所有的消息。 我需要找到所有最後的對話信息。SQL嵌套查詢問題
表包含以下字段: ID(INT) 從(INT) ,與(int) 日期(日期) 消息(VARCHAR)
我需要找到返回我的所有查詢最後的消息。 例如:
1 -> 3 : This is a first message; yesterday
3 -> 1 : This is the last one; today
1 -> 2 : Another message with 1 and 2; some time
3 -> 5 : Some message i don't need; some time
我需要找到:
"3 -> 1 : This is the last one; today"
"1 -> 2 : Another message with 1 and 2; some time"
我希望這是清楚我的意思......我 已經可以發現我有一個交談的用戶,這個查詢:
在該示例中用戶具有標識= 47select distinct m.To from MESSAGE m Where m.From = 47 union select distinct m2.from From MESSAGE m2 where m2.To = 47
謝謝!
最後一個線程(發件人 - 收件人)還是最後一個發件人或收件人? – amphibient
最後在線程中,所以有點像在手機上一樣,您可以在短信收件箱中看到所有對話,並查看最後一條消息,發送它或發送它並不重要 – dumazy
什麼我會做的是有一個列(這可能看起來違反規範化,但會提高性能)threadID,這將是。,然後爲了簡單分組。所以在上面的例子中,相應的線程ID將是:1.3(對於1-> 3),1.3(對於3-> 1),1.2(對於1-> 2),3.5(對於3-> 5) –
amphibient