是否可以编写一个查询来使用相同的“限制(从),(计数)”,但向后得到结果?
例如,如果我在表中有8行,并且我想在两个步骤中得到5行,我会:第一步查询:
select * from table limit 0, 5第一步的结果:
first 5 rows;第二步查询:
select * from table limit 5, 5第二步结果:
last 3 rows;但我想反之亦然。我的意思是,从第一步开始,我想要最后3行,从第二步开始,我想要5第一行。谢谢你的回答
发布于 2010-04-25 16:53:10
不你不该这么做。如果没有ORDER BY子句,就不应该依赖结果从查询到查询的顺序相同。在测试期间,它可能工作得很好,但是顺序是不确定的,以后可能会中断。用命令。
SELECT * FROM table1 ORDER BY id LIMIT 5顺便说一句,获得最后3行的另一种方法是颠倒顺序并选择前三行:
SELECT * FROM table1 ORDER BY id DESC LIMIT 3即使结果集中的行数并不总是8行,这也总是有效的。
发布于 2020-05-10 01:15:10
假设我们有一个有列时间的表,您需要最后5个条目,但是您希望它们按照asc顺序返回给您,而不是desc,您是这样做的:
select * from ( select * from `table` order by `time` desc limit 5 ) t order by `time` asc发布于 2010-04-25 16:48:09
是的,您可以交换这两个查询。
select * from table limit 5, 5
select * from table limit 0, 5https://stackoverflow.com/questions/2708992
复制相似问题