1gmail のような会話スレッドでメッセージ テーブルを書き込もうとしています。(私はphpを使用しています)。表はご覧の通り。posID は、特定のスレッド ID 内の各メッセージの位置を意味します。
id | senderID | recvrID | message(threadID,posID) | threadID | posID | time
1 1 3 msg 1,1 1 1 12pm
2 3 1 msg 1,2 1 2 3pm
3 1 2 msg 2,1 2 1 1pm
senderID=1 (この場合) のすべてのメッセージ スレッドを検索するクエリを作成する必要があります。スレッドに複数のメッセージがある場合は、各スレッドで最後のメッセージのみを選択します (positionID または時間で並べ替えることができます)。
期待される出力は次の表のとおりです。
senderID | message | Time
1 msg 1,2 3pm
1 msg 2,1 1pm
編集:さらに読んだ後、送信者/受信者の制約を持つメッセージを選択する必要があると思います(スレッド内に複数のメッセージがある場合、各スレッドIDにMAX(posID)を持つメッセージのみ)。これを実装する方法がわかりません。