LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。
LIMIT 接受一个或两个数字参数。
参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。
1、检索前m行记录:
只给定一个参数
SELECT * FROM table LIMIT m;
等价于:
SELECT * FROM table LIMIT 0,m;
2、检索记录行 (m+1)-(m+n)
SELECT * FROM table LIMIT m,n;
3、检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1
SELECT * FROM table LIMIT m,-1; #检索为(m+1)-last
补充:
为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
经常用到在数据库中查询中间几条数据的需求
比如下面的sql语句:
1、selete * from table limit 2,1;
2、 selete * from table limit 2 offset 1;
注意:
1、数据库数据计算是从0开始的
2、offset m是跳过m个数据,limit n是选取n个数据
3、limit m,n 中m表示跳过m个数据,读取n个数据
这两个都是能完成需要,但是他们之间是有区别的:
1、从数据库中第三条开始查询,取一条数据,即第三条数据读取,一二条跳过
2、从数据库中的第二条数据开始查询两条数据,即第二条和第三条。
LIMIT子句在MySQL中用于限制SELECT语句返回的记录数。它可以接受一个或两个参数,第一个参数指定起始位置,第二个参数指定返回的记录数。例如,`LIMIT m, n`将返回从第m+1行开始的n条记录。OFFSET子句可与LIMIT一起使用,实现类似的功能。在查询数据库中间数据时,如`LIMIT 2, 1`将从第三条记录开始取一条,而`LIMIT 2 OFFSET 1`则会从第二条开始取两条。注意,数据库的索引是从0开始的。
1244

被折叠的 条评论
为什么被折叠?



