MYSQL - 根据行号查找记录

标签 mysql sql select row-number rownum

是否可以根据行号获取表记录?

例如,我有一个有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/

相关文章:

sql - 将 DATEPART 存储在表中

mysql - 如何在 mysql8 数据库中为每个 id 选择 1 最后一行?

mysql - SQL结果加法

mysql - 获取与当前日期最接近的日期sql

java - 来自 Hibernate 的 UTF-8

mysql - 如何优化count和group by子查询操作

php - 从多条件请求中选择行

python - 在 SQLAlchemy 中更改 where 子句而不生成子查询

javascript - 如何在充满 ng-options 的 Angularjs 选择中预先选择一个选择选项

sql - mysql substr 不像 php substring 那样工作