獲取我需要登錄的用戶之間最後一條消息獲取他曾與聊,就像Facebook的所有用戶。這將像facebook.com/messages頁面一樣。 這裏是我做了什麼至今數據庫查詢到的最後一條消息從每個用戶(如Facebook消息)
數據庫
USER_TABLE
- CWID
- FIRST_NAME
- 姓氏
- user_image_link
消息
- ID
- cwid1 (發件人ID)
- cwid2(接收裝置ID)
- 消息(消息內容)
- messagetime(時間戳)
- userread(枚舉 'Y' 'N')`
查詢 登錄的用戶擁有ID = 1
SELECT
user_table.cwid,
message.cwid1,
message.cwid2,
message.message,
message.userread,
MAX(message.messagetime),
user_table.first_name,
user_table.last_name,
user_table.user_image_link
FROM message
INNER JOIN user_table
ON message.cwid1 = user_table.cwid
WHERE (cwid2="1")
GROUP BY cwid1
ORDER BY messagetime DESC
這將返回由所有誰給他發了消息。我需要也獲取所有已通過此用戶發送消息的人一個用戶收到最後一封郵件同樣,也可以通過
SELECT
user_table.cwid,
message.cwid1,
message.cwid2,
message.message,
message.userread,
MAX(message.messagetime),
user_table.first_name,
user_table.last_name,
user_table.user_image_link
FROM message
INNER JOIN user_table
ON message.cwid1 = user_table.cwid
WHERE (cwid1="1")
GROUP BY cwid2
ORDER BY messagetime DESC
就像Facebook的消息做了我需要他們具有鮮明的用戶都混合和分類由messagetime。我是一個新手到MySQL,任何幫助是極大的讚賞。謝謝!
只是看了一眼,好像你想添加'WHERE(cwid1 =「1」或cwid2 =「1」)''。這是否給你你想要的結果? –