我有一個表結構,其中我把發送的消息記錄的最近傳入或傳出消息和下面一樣接受;MySQL的選擇不同用戶
member_id1是發送者和member_id2爲接收端。
現在我想要實現的是獲取具有member_id爲3的用戶的最近消息的行。結果應該只包含2行,消息ID爲2和4,爲2是member_id爲3的用戶與member_id爲2的用戶之間的最後一條消息,4是member_id爲3的用戶與member_id爲1的用戶之間的唯一消息。
結果不應該包含message_id爲3的行,因爲它與member_id爲3的用戶沒有任何關係,並且message_id爲1,因爲它已由具有message_id的message_id的消息過期2.
希望我做了清楚我的問題的人誰可以幫我解決這個問題。
嗨帕布羅......其實並不那麼容易。因爲用戶既可以是發送者也可以是接收者,這意味着查詢不僅應該看到列member_id2,還應該看到member_id1。 – nonkertompf 2012-08-12 13:23:58
在這種情況下 SELECT * FROM TABLE_NAME WHERE member_id2 = 3 OR member_id1 = 3 ORDER BY senddate DESC; – 2012-08-12 13:34:47
但是,這將獲得包含member_id 3的所有行。我們不希望查詢得到過期的行,我們只想要每個收件人最近的行。 – nonkertompf 2012-08-12 13:38:44