0
好吧,所以我卡住試圖弄清楚我的用戶收件箱的解決方案。收件箱SQL查詢解決方案
基本上,當用戶查看他們的收件箱時,我希望它顯示每個已發送消息的用戶的最後一條消息。例如,如果John發送簡「消息1」,「消息2」,「消息3」。 Jane會在她的收件箱中看到最後一條消息「message 3」。我的意圖是,當她點擊消息時,她會看到整個線程(我已經擺脫了這個線程),實際上我已經部分有這個工作,但是有一個問題。如果約翰接着發送消息Sarah「消息1」,「消息2」,「消息3」這個查詢將對Sarah起作用,但是將不再適用於Jane。
我似乎無法弄清楚。我迄今。任何建議將非常感激。
SELECT t1.*, u.username as from_username, u.user_type as from_usertype,
p.profile_picture
FROM messages t1
JOIN (
SELECT from_id, MAX(date) date
FROM messages
GROUP BY from_id
) t2 ON t1.from_id = t2.from_id AND t1.date = t2.date
LEFT JOIN users u ON u.id = t1.from_id
LEFT JOIN profiles p ON p.user_id = t1.from_id
WHERE t1.to_id = '{$loggeduser}'
AND t1.deleted = '0'
LIMIT {$pagination->items_per_page}
OFFSET {$pagination->offset}
你是聰明的人。完美的作品。 – user1715025