3

というテーブルがありますsk_messages。その構造は次のようになります。

msg_id     msg_from_user_id  msg_to_user_id  msg_text   msg_date     msg_status  

 1              12                14          hai...   23-12-2013      unread

 2              12                14         ....     ...             unread

 3              13                 14        ...      ..               unread

私の要件は、送信者が未読ステータスの複数のメッセージを送信した場合でも、送信者から単一のメッセージを表示するという条件で、現在のユーザー向けのすべてのメッセージを表示することです。つまり、上記のコンテキストから、単一のメッセージID 12 のユーザーが表示されるはずです。次のクエリを試しましたが、うまくいきません。

SELECT DISTINCT (msg_from_user_id), msg_text, msg_date
 FROM sk_messages
 WHERE msg_to_user_id =  '$user_id'
 AND msg_status =  'unread'
 ORDER BY msg_date


$user_id is the id of the login user
4

3 に答える 3

0

これを使って

SELECT msg_from_user_id,
       msg_text, msg_date
       FROM sk_messages
 WHERE msg_to_user_id =  '$user_id'
 AND msg_status =  'unread'
 ORDER BY msg_date  GROUP BY msg_from_user_id

于 2013-02-13T09:18:10.787 に答える