是否可以根据行号获取表记录?
例如,我有一个有40条记录的表,我需要获取第27条记录。
我需要一些查询,如 SELECT * FROM my_table WHERE **ROWNUM** = 27
.
最佳答案
您正在寻找偏移量
:
select t.*
from my_table t
order by ??? -- you need to specify a column or expression here
limit 1 offset 26;
两个注释。不存在表的第 27 行这样的东西。 SQL 表表示无序集。仅当列指定排序时才存在排序。这就是 order by
的目的。通常这可能是表的主键。
其次,偏移量(与 SQL 中的大多数内容不同)是从零开始的。因此,偏移量“1”意味着“跳过一条记录”——或“从第二条记录开始”。因此偏移量为“26”。
关于MYSQL - 根据行号查找记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50450058/