MySQL クエリの行番号を取得するために必要なクエリの Stack Oveflow でいくつかの例を見てきました。私がやりたいことは、それを少し拡張して、行番号が 2 つの値の間にある結果のセットを制限できるようにすることです。これにより、結果テーブルのページネーションが可能になります。
私がこれまでに持っているクエリは次のとおりです。
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 句を追加するポイントまで機能し、unknown column row_number というエラーが表示されます。テーブルにlという名前を付けたからかもしれないと思ったので、WHERE l.row_number BETWEENで試してみましたが、同じ問題が発生しました。
行番号が2つの値の間にあるクエリを制限する方法を誰かが提案できますか、または同じ目的に役立つ代替クエリを提案できますか?