在mysql中实现翻页操作,使用LIMIT子句即可实现;在sql5.0和8.0的使用方法不一样,8.0中的新特性,反而能更好的理解;
MySQL5.7/8.0:
显示第一页(10行为一页)
SELECT ****
FROM *****
LIMIT 0,10;
显示第二页
SELECT ******
FROM ******
LIMIT 10,10;
显示第三页
SELECT ******
FROM ******
LIMIT 20,10;
在这时候可以理解为我们定义了偏移量,而偏移量分别为0,10,20;
而第三页LIMIT子句中第二个数‘10'是指偏移后的所想要取得的几个数;
在第三页中这句话意思是说我们先将列数翻到第20行,然后从第21行开始包括第21行,取得第21行到第30行的内容;
而在mysql8.0中的在使此子句得到了更好的利用
MySQL8.0:
SELECT *****
FROM ****
LIMIT 10 OFFSET 20;
这是MySQL8.0的新特性,MySQL5.7不可以这样写;
OFFSET可以直接理解为偏移量,在此代码中偏移量为20,取得第21行到第30行,共计10行数据;
如果说需求是取得第42,43个所要求的数据,可以写为
LIMIT 2 OFFSET 41;
也可写为
LIMIT 41,2;
两者偏移量放置位置相反,具体使用看情况;另外要注意一点LIMIT声明顺序一般是放在最后;
注:LIMIT 0,10可以写为LIMIT 10;