我在 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 尝试了它,但给了我同样的问题。
有人可以建议我如何限制行号在两个值之间的查询,或者建议一个用于相同目的的替代查询?