助けてください。受信ボックスに各ユーザーのメッセージ (最新) を 1 つだけ表示したいのですが。したがって、次のように受信トレイにすべてのメッセージを表示するのではなく、 user1、user2、user3とメッセージを交換している場合:
user2 - message 6
user3 - message 5
user2 - message 4
user1 - message 3
user1 - message 2
user1 - message 1
このように、それぞれからの最新のメッセージを受信トレイに表示するだけで済みます。
user2 - message 6
user3 - message 5
user1 - message 3
これが私のテーブルです。
+-----------------------------------------------------------------------------------+
| messages |
+-----------------------------------------------------------------------------------+
| message_ID | sender |receiver| date | subject | body | unread | delete1 | delete2 |
+-----------------------------------------------------------------------------------+
+---------------------+
| members |
+---------------------+
| id | username | ...
+----+----------+-----+
これまでのところ、これは私のクエリです。
SELECT p.*, p.sender as sender, m.*
FROM messages p
LEFT JOIN members m ON p.sender=m.member_id
WHERE p.receiver='<CURRENT_USER>' AND delete2=0
GROUP BY p.sender ORDER BY p.date DESC
LIMIT 5