0

是否有从一定数量的结果开始的 SQL 命令?例子:

SELECT * FROM table WHERE ID=1 BEGIN AT 100
4

3 回答 3

1

尝试创建一个临时行号,然后将其用作起点的标准,在您的案例 100 中,例如:

 SELECT * FROM (
      SELECT (@RowNum := @RowNum + 1) as Row, tbl.* FROM tbl, 
        (SELECT @RowNum:=0) ctr
       ) t
 WHERE Row >= 100

Demo

于 2014-11-19T05:57:37.497 回答
0

SELECT * FROM table WHERE ID=1 LIMIT 100,500;

结果将显示 100 中的 500 值

于 2014-11-19T05:44:56.340 回答
0

来自:http ://dev.mysql.com/doc/refman/5.0/en/select.html

要检索从某个偏移量到结果集末尾的所有行,您可以为第二个参数使用一些较大的数字。此语句检索从第 96 行到最后一行的所有行:

SELECT * FROM tbl LIMIT 95,18446744073709551615;

在你的情况下:

SELECT * FROM table WHERE ID=1 BEGIN AT 99,18446744073709551615

更多信息:

对于准备好的语句,您可以使用占位符(从 MySQL 版本 5.0.7 开始支持)。以下语句将从 tbl 表中返回一行:

SET @a=1;
PREPARE STMT FROM 'SELECT * FROM tbl LIMIT ?';
EXECUTE STMT USING @a;

以下语句将从 tbl 表中返回第二到第六行:

SET @skip=1; SET @numrows=5;
PREPARE STMT FROM 'SELECT * FROM tbl LIMIT ?, ?';
EXECUTE STMT USING @skip, @numrows;
于 2014-11-19T05:42:43.350 回答