0
我想爲PHP/MySQL中的郵件系統製作對話概述頁面。基本上,它看起來像iPhone的文本/短信概述頁面。由您發送或收到消息的其他用戶分組的消息。它應該顯示最新的消息對話(發送或接收)第一(降序)需要合併兩列,所以我可以GROUP BY在同一個表
messages table
id | sender_id | receiver_id | datetime | message
這是查詢我到目前爲止:
SELECT id, sender_id, receiver_id, max(datetime) AS dt,
SUBSTRING_INDEX(GROUP_CONCAT(CAST(message AS CHAR)
ORDER BY datetime DESC) , ',', 1) AS message
FROM vc_messages
WHERE (
sender_id = '1'
OR receiver_id = '1'
)
GROUP BY sender_id, receiver_id
與查詢的問題是它不'GROUP BY另一個用戶。如果我向其他用戶發送了一條消息,它會在Convo概覽結果中顯示兩次。基本上,我需要GROUP BY sender_id和receiver_id字段。
這會返回一個錯誤:#1064 - 您的SQL語法錯誤;檢查與你的MySQL服務器版本相對應的手冊,在'receiver_id',MAX(sender_id,receiver_id)附近使用正確的語法。 – SomeRandomDude 2011-06-20 02:03:35