mysql中分页查询(LIMIT和OFFSET关键字讲解)一语道破天机
mysql中分页查询(LIMIT和OFFSET关键字)
大家看图和看案例,图文并茂,比较好理解!
/*
注意:mysql数据库中LIMIT分页查询时,索引是从0开始的(即表中第一条数
据的索引是0,第二条数据的索引是1,以此类推)
*/
#以下查询语句都可以正确执行
SELECT * FROM admin;
SELECT * FROM admin LIMIT 2,50;
SELECT * FROM admin LIMIT 50 OFFSET 2;
#
/*
查询admin表中前10条记录,换句话说,就是查询10条记录,并且是从第1条数据开始查
(注意:第一条数据的索引是0,第二条数据的索引是1,以此类推)
*/
SELECT * FROM admin LIMIT 0, 10;
#如果你要查询admin表中前10条记录,并且是从第1条数据开始查,那么索引0可以省略不写,如下:
SELECT * FROM admin LIMIT 10;
#从第5条数据开始查,查3条记录(注意:第一条数据的索引是0,第二条数据的索引是1,以此类推)
SELECT * FROM admin LIMIT 4,3;
#从第5条数据开始查,查3条记录(注意:第一条数据的索引是0,第二条数据的索引是1,以此类推)
SELECT * FROM admin LIMIT 3 OFFSET 4;#可以把OFFSET理解成开端索引或者叫起始索引,OFFSET后面跟索引
SELECT * FROM admin LIMIT 3 OFFSET 4;#MySQL5.0之后支持该语法
/*
总结:
SELECT * FROM admin LIMIT 4,3;
和
SELECT * FROM admin LIMIT 3 OFFSET 4;#MySQL5.0之后支持该语法
这2句效果一样,他们是等价的
注意:有些资料上说OFFSET是偏移量,大家可能对偏移量这3个字比较陌生或者听得比较少,所以对偏移量这个
概念云里雾里的,我也是对偏移量这个词很晕,不要紧,大家可以把偏移量理解成索引或下标,我们java中不
是有索引和下标的概念嘛,理解成索引或下标那就很好理解了
注意:mysql数据库中使用LIMIT分页查询时,比如:某张表中的记
录有20条数据,第1条数据的索引是0,第2条数据的索引是1,以此类推,所以大家要记
住,LIMIT分页查询时,索引是从0开始的,不是从1开始的,大家要切记,切记,切记,重
要的事情说3遍
*/