0

我一直在阅读这篇文章创建像 facebook 和 gmail 这样的线程私人消息系统

它很好地解释了一切,但查询对我不起作用。我在第 1 行收到一个错误,上面写着 "top 1" 。:(

以下是我试图达到的场景:

  1. 5 个人正在与 member1 交谈。成员 1 和其他 5 个成员有线程,所以总共有 5 个线程,因为有 5 个对话。我需要从 5 个线程中的每一个中获取最新回复以及留下最后回复的人的用户名。

  2. 消息打开后,显示回复。

我猜我正在阅读的帖子很有效率,并且可以很好地处理成千上万的线程/回复。如果它会很慢,请告诉我是否有人可以将我指向一篇正确完成的文章。我对MYSQL不太好,还在学习。

我正在使用这个表设置

在此处输入图像描述

4

1 回答 1

1

TOP是 Transact-SQL 语法——例如用于 MS SQL Server 和 Sybase。MySQL 中的等效语法是LIMIT(位于命令末尾SELECT):

select
  M.message_id
, M.sent_datetime
, M.title
, M.message_text
, S.user_id
, S.user_name
-- and anything else you want...
from MESSAGE M inner join USER S
  on M.sender_user_id = U.user_id
where M.reply_to_message_id = @ThreadRootMessageID
order by
  M.sent_datetime desc
limit 1
于 2012-07-07T16:12:52.753 回答