-1

これらの列を持つメッセージの表があります

  • ID
  • item_id
  • user_from
  • user_to
  • メッセージ
  • date_created

任意の 2 人のユーザー間のメッセージは、特定の item_id に関するものです。ユーザーの会話リストを作成したいと考えています。では、ユーザーが user_from または user_to のいずれかである item_id ごとに、MYSQL が最新のメッセージのみのリストを返すようにするにはどうすればよいでしょうか。

同様に、「user_from = 10 または user_to = 10 の item_id ごとに最新のメッセージを返す」。

どんな助けでも大歓迎です。

4

1 に答える 1

1

私が理解していることから、あなたが探しているクエリは次のようになります。

SELECT `message` FROM `messages`
  WHERE `user_from` = "id"
  OR `user_to` = "id"
  GROUP BY `item_id`
  ORDER BY `date_created` DESC

つまり:

Get `message`
when `user_from` equals "id" or `user_to` equals "id"
but only once for every `item_id`
ordered by the latest date downwards

これが役立つことを願っています。

于 2013-10-01T05:23:25.497 に答える