我有兩個mysql表用戶&消息。請你幫我創建一個sql查詢,它只返回登錄用戶Mike(user_id = 1)發送或接收到的最新消息,以及發送消息的人的message_id,message_text & first_name,或者從......收到。按降序排列的message_id排序。從MySQL查詢中刪除重複結果
到目前爲止,我有查詢: -
SELECT message_id, first_name, message_text FROM tbl_users, tbl_messages
WHERE
(tbl_users.user_id = tbl_messages.sender_id AND tbl_messages.receiver_id = 1
OR tbl_users.user_id = tbl_messages.receiver_id AND tbl_messages.sender_id = 1)
GROUP BY tbl_users.first_name
ORDER BY message_id DESC
其中給出的結果如下圖所示。看來ORDER BY被忽略
預先感謝您
tbl_users
---------------------------
| user_id | first_name |
---------------------------
| 1 | Mike |
| 2 | John |
| 3 | George |
| 4 | Peter |
| 5 | Sarah |
---------------------------
tbl_messages
----------------------------------------------------------------
| message_id | sender_id | receiver_id | message_text |
----------------------------------------------------------------
| 1 | 2 | 1 | Hello |
| 2 | 3 | 1 | How are you |
| 3 | 1 | 5 | Hi there |
| 4 | 2 | 1 | Greetings |
| 5 | 1 | 4 | Good day |
| 6 | 3 | 1 | Hi |
| 7 | 5 | 1 | A message |
| 8 | 5 | 4 | Good morning |
| 9 | 1 | 5 | Hello dear |
| 10 | 1 | 3 | Howdy |
----------------------------------------------------------------
期望的結果
----------------------------------------------
| message_id | first_name | message_text |
----------------------------------------------
| 10 | George | Howdy |
| 9 | Sarah | Hello dear |
| 5 | Peter | Good day |
| 4 | John | Greetings |
----------------------------------------------
數據庫可用here
你是指最近的信息來自或來自人X?結果表格沒有告訴Mike有沒有發送或收到消息? –
可能的重複:http://stackoverflow.com/questions/5510034/mysql-exclude-duplicate-data – Thilo
邁克給喬治,莎拉和彼得發送的ID爲10,95和3的郵件。 Mike的名字不應該在結果中,因爲他是登錄用戶。就像WhatsApp上顯示聊天列表的方式 – shingionline