我正在进行网络聊天,我想在页面底部显示最后添加的消息,我想限制最后10条消息。
我的sql查询现在看起来像:
SELECT * FROM messages WHERE chat_room=5 LIMIT 10
但这不是我想要的。如果表中有20条消息,则此查询将从1到10中选择项,但我希望从10到20中选择项,最后一条消息位于底部。
表消息具有UNIX时间格式(INT)的create_date列
如何更改此查询?
最佳答案
Arnep的答案几乎是正确的,但是它会返回一个列表,上面有最后一条消息。。。。
SELECT *
FROM
(SELECT *
FROM messages
WHERE chat_room=5
ORDER BY your_date_column DESC
LIMIT 10) ilv
ORDER BY your_date_column ASC