是否可以编写查询以使用相同的"LIMIT(from),(count)",但是向后获得结果?
例如,如果我在表中有8行,并且我希望分两步获得5行,那么我将:第一步查询:
select * from table limit 0, 5
Run Code Online (Sandbox Code Playgroud)
第一步结果:
first 5 rows;
Run Code Online (Sandbox Code Playgroud)
第二步查询:
select * from table limit 5, 5
Run Code Online (Sandbox Code Playgroud)
第二步结果:
last 3 rows;
Run Code Online (Sandbox Code Playgroud)
但我想反过来说.我的意思是从第一步开始我想要最后3行,从第二步开始我想要5行.谢谢您的回答
Mar*_*ers 32
不,你不应该这样做.如果没有ORDER BY子句,则不应该依赖于从查询到查询的结果顺序.它可能在测试期间很好地工作,但顺序是不确定的,可能会在以后破坏.使用订单.
SELECT * FROM table1 ORDER BY id LIMIT 5
Run Code Online (Sandbox Code Playgroud)
顺便说一下,获取最后3行的另一种方法是颠倒顺序并选择前三行:
SELECT * FROM table1 ORDER BY id DESC LIMIT 3
Run Code Online (Sandbox Code Playgroud)
即使结果集中的行数不总是8,这也总是有效.
| 归档时间: |
|
| 查看次数: |
109815 次 |
| 最近记录: |