mysql 中倒序显示的记录

records showing in reverse order in mysql

示例数据如下。

我正在编写以下查询以获取最近的 10 条记录。

SELECT * FROM `tblmessages` order by message_id desc limit 10

问题是它以相反的顺序给出了结果。

我的预期结果集是从消息 id = 15 到消息 id = 24。

但是,我目前正在从消息 ID = 24 到消息 ID = 15。我的意思是,它以相反的顺序显示。你能推荐点什么吗?

这里是查询的Laraveleloquent。

ThreadMessagesModel::where("thread_id", $thread_id)
                   ->orderBy("message_id", "desc")
                   ->paginate(10);

结果是反向显示的,因为排序依据desc结束。您可以使用以下查询来获取最高 ID 的排序 ascding`

SELECT * FROM `tblmessages` 
WHERE message_id IN (
                        SELECT message_id 
                        FROM `tblmessages` 
                        order by message_id desc 
                        limit 10
                    )
SELECT *
FROM (
       SELECT *
       FROM tblmessage 
       ORDER BY message_id DESC
       LIMIT 10
) main
ORDER BY main.message_id;

我认为你应该运行下面的查询。

Select * from (
                SELECT * FROM `tblmessages` order by message_id desc limit 10
              ) as a 
order by message_id