使用MySql选择记录范围

前端之家收集整理的这篇文章主要介绍了使用MySql选择记录范围前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是我的查询

SELECT  @curRow := @curRow + 1 AS row_number,myTable.id
FROM    myTable
JOIN    (SELECT @curRow := 0) r

这给了我myTable中所有记录的结果.防爆.

row_number    id
---------- -------
    1         100
    2         101
    3         102
    4         103
    5         104
    6         105
    7         105
    8         106
    9         107
   10         108
   11         109
   12         110
   13         111
   ...

如果我只需要选择6到10之间的行怎么办?使用LIMIT 5可以轻松选择1到5,但如何选择中间的行范围呢?

最佳答案
SELECT  @curRow := @curRow + 1 AS row_number,myTable.id
FROM myTable  LIMIT 5 OFFSET 6;

使用具有限制的OFFSET.

LIMIT决定查询执行后将会有多少行,并且偏移决定记录将从哪些记录中过滤.

Read this tutorial for offset.

猜你在找的MySQL相关文章