MySQL降序限制

标签 mysql

是否可以编写查询以使用相同的“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/

相关文章:

php - 将字符串附加到自身, 'X' 次(其中 'x' 是变量)

php - 查询数据库时收到重复的答案

mysql - 在 mysql 中复制 wordpress 密码哈希

php - 通知 : Undefined Index inside 'while loop'

php - 向 mySql 添加数据

mysql - php mysql 添加 1 年至今,然后比较新日期是否会在 30 天内到来

javascript - 将代码移至导出函数会导致 TypeError : Converting circular structure to JSON

mysql - Liquibase Spring error : Could not instantiate bean class [liquibase. integration.spring.SpringLiquibase]

mysql - 解决一个简单的 SQL 查询

mysql - 简单(?)MySQL 查询