我正在进行网络聊天,我想在页面底部显示最后添加的消息,我想限制最后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

09-11 18:38
查看更多