3

私は完全に機能するプライベートメッセージシステムをコーディングしています。グループメッセージのSQLクエリを作成する必要がありますが、そのメッセージは1回だけ表示されます。要するに、Facebookのような「会話ビュー」が欲しいのですが、送信または受信された最新のメッセージのみを表示します。バックエンドのスクリプトは、プライベートメッセージングシステムのPHPです。

スクリーンショットを添付しました:

スクリーンショット

これが私が使用している添付のクエリです。

テストデモは次のアドレスにアップロードされます:http://developers89.byethost14.com/messages/

4

1 に答える 1

7
SELECT  *
FROM    conversation
WHERE   (LEAST(sender_ID, receiverID), GREATEST(sender_ID, receiverID), date)
        IN
        (
            SELECT  LEAST(sender_ID, receiverID) x, 
                    GREATEST(sende_ID, receiverID) y,
                    MAX(date) max_date
            FROM    conversation
            GROUP   BY x, y
        )
        AND '$uid' IN (sender_ID, receiverID)
//      AND other conditions if you have  ...
//      ORDER BY ...
//      LIMIT ...
于 2013-02-01T14:16:02.127 に答える