样本数据如下。
我在下面的查询中编写以获取最近的10条记录。
SELECT * FROM `tblmessages` order by message_id desc limit 10
问题在于它以相反的顺序给出结果。
我的预期结果集是从消息ID = 15到消息ID = 24。
但是,我目前正在从消息ID = 24变为消息ID =15。我的意思是,它以相反的顺序显示。你能建议点什么吗?
这是Laravel雄辩的查询。
ThreadMessagesModel::where("thread_id", $thread_id)
->orderBy("message_id", "desc")
->paginate(10);
答案 0 :(得分:2)
我认为您应该运行以下查询。
Select * from (
SELECT * FROM `tblmessages` order by message_id desc limit 10
) as a
order by message_id
答案 1 :(得分:1)
SELECT *
FROM (
SELECT *
FROM tblmessage
ORDER BY message_id DESC
LIMIT 10
) main
ORDER BY main.message_id;
答案 2 :(得分:0)
结果以相反的顺序显示,因为按desc
结尾。您可以使用以下查询来获取ID最高的asc
ding`
SELECT * FROM `tblmessages`
WHERE message_id IN (
SELECT message_id
FROM `tblmessages`
order by message_id desc
limit 10
)