-1

我有一个包含这些列的消息表

  • ID
  • item_id
  • user_from
  • user_to
  • 信息
  • 创建日期

任何两个用户之间的消息都是关于给定 item_id 的。我想为用户创建一个对话列表。那么如何让 MYSQL 返回每个 item_id 仅包含最新消息的列表,其中用户可以是 user_from 或 user_to。

例如,“对于 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 回答