MYSQL对话列表中唯一的线程标题

时间:2013-10-01 04:51:51

标签: mysql sql

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

  • ID
  • ITEM_ID
  • user_from
  • user_to
  • 消息
  • DATE_CREATED

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

喜欢,“为每个item_id,其中user_from = 10或user_to = 10返回最新消息”。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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

我希望这会有所帮助。