是否可以编写查询以使用相同的“LIMIT (from), (count)”,但反向获取结果?
例如,如果表中有 8 行,并且我想分两步获得 5 行,我会: 第一步查询:
select * from table limit 0, 5
第一步结果:
first 5 rows;
第二步查询:
select * from table limit 5, 5
第二步结果:
last 3 rows;
但我想反之亦然。我的意思是从第一步开始我想要 最后 3 行,从第二步开始我想要 5 前行。谢谢你的回答
最佳答案
不,你不应该这样做。如果没有 ORDER BY
子句,您不应该依赖于查询结果的顺序相同。它在测试期间可能会很好地工作,但顺序是不确定的,以后可能会中断。使用订单。
SELECT * FROM table1 ORDER BY id LIMIT 5
顺便说一句,获取最后3行的另一种方法是颠倒顺序并选择前三行:
SELECT * FROM table1 ORDER BY id DESC LIMIT 3
即使结果集中的行数不总是 8,这也始终有效。
关于MySQL降序限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2708992/