mysql分页

本来是基础知识,但是今天才发现有两种写法,之前一直用简写,两种方法 [偏移量OFFSET ] 和 [取出最大数据条数LIMIT ] 两个数字位置有所区别,特此记录:

1. 完全体写法, 先写数据条数,再写偏移量 也有很多其他数据库也支持这种写法

SELECT * FROM table LIMIT rows OFFSET offset;

列如:

查询学生数据,成绩从高到低排列,查第一页数据,每页10条,注意OFFSET 偏移量从0开始,而不是1 :

SELECT * FROM t_student ORDER BY score DESC LIMIT 10 OFFSET 0;

则第二页:OFFSET  = (页数-1) * 每页条数

SELECT * FROM t_student ORDER BY score DESC LIMIT 10 OFFSET 10;

以此类推,第三页:

SELECT * FROM t_student ORDER BY score DESC LIMIT 10 OFFSET 20;

 

2. MySQL的简写方式,注意两个数位置变为:偏移量在前,数据条数在后,其中offset 为0 时 可省略

SELECT * FROM table LIMIT [offset,] rows

上面的取第一页例子就可以写为

SELECT * FROM t_student ORDER BY score DESC LIMIT 0,10;

或者

SELECT * FROM t_student ORDER BY score DESC LIMIT 10;

posted @ 2023-06-21 10:48  dirgo  阅读(44)  评论(0)    收藏  举报