mysql - 获取 MySQL 查询的行号,然后过滤值之间的行号

标签 mysql sql

我在 Stack Oveflow 上看到了一些查询示例,我需要为 MySQL 查询检索行号。我想要做的是稍微扩展一下,以便我可以限制行号介于两个值之间的结果集。这允许对我的结果表进行分页。

我目前的查询是:

SELECT l.ID, l.Name, l.Value, @curRow := @curRow + 1 AS row_number
FROM (
  SELECT * FROM $table
  ORDER BY Name ASC
) l
JOIN (
  SELECT @curRow := 0
) r
WHERE row_number BETWEEN 1 AND 3

此查询一直有效,直到我在末尾添加 WHERE 子句,并给出错误未知列 row_number。我认为这可能是因为我将表命名为 l,所以用 WHERE l.row_number BETWEEN 尝试了它,但给了我同样的问题。

有人可以建议我如何限制行号介于两个值之间的查询,或者建议一个可以达到相同目的的替代查询吗?

最佳答案

SELECT * FROM your_table LIMIT 5, 5

这将显示记录 6、7、8、9 和 10

关于mysql - 获取 MySQL 查询的行号,然后过滤值之间的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18311416/

相关文章:

mysql - 如何在 MySQL 命令行客户端中更改用户

mysql - 查询获取上个月数据(从现在开始计算)并解析Json以获取Json中的项目

mysql - 查询问题未知列状态

Mysql 检索 2 个最大值之间的范围

mysql - 学习<<数据库系统概念>>6ed出现ERROR 1005 (HY000) : Can't create table,

SQL 选择值总和相同的 ID

javascript - 禁用所选的下拉列表值并获取下拉列表的下一个值

mysql - 如何使用 SAS 删除特定时间间隔内的第一行或第一组行?

mysql - 将子查询中带有 LIMIT 的 SQL 查询转换为 Hibernate

php - 检查 session 并在可能进行 3 次 session 时更改菜单