sql分页查询
文章目录
- 分页查询
- oracle中分页查询
- mysql中分页查询
分页查询
分页查询在绝大多数项目中都会用到。如果要在浏览器中显示很多数据信息,这时就会用到分页来显示。
要实现分页需要用到两个参数:
- currentPage:表示当前页
- lineSize:表示每页显示的数据量
oracle中分页查询
在oracle中分页查询需要使用
ROWNUM
关键字
SELECT *
FROM (SELECT ROWNUM RN,E.* FROM EMP E WHERE ROWNUM <= 3)TEMP
WHERE TEMP.RN >= 1;
- 查询第一页数据,每页显示三条数据
currentPage = 1;lineSize = 3;
SELECT
FROM (SELECT ROWNUM RN,E. FROM EMP E WHERE ROWNUM <= 6)TEMP
WHERE TEMP.RN >=4查询第二页数据,每页显示三条数据
currentPage = 2;lineSize = 3;
SELECT
FROM (SELECT ROWNUM RN,E. FROM EMP E WHERE ROWNUM <=9)TEMP
WHERE TEMP.RN >=7;查询第三页数据,每页显示三条数据
- currentPage = 3;lineSize = 3;
总结:
要从数据库中查询第m条到n条数据时:
- m = (currentPage - 1)*lineSize + 1
- n = currentPage*lineSize
mysql中分页查询
在MySQL中实现分页查询需要使用到
LIMIT
关键字,之后有两个参数m,n
- m:表示从数据库的第m条数据开始查询(MySQL中的第一条数据m==0)
n:表示查询到第n条数据
mysql> SELECT *
FROM EMP
LIMIT 0,3;
显示第一页数据,每页显示三条数据;
mysql> SELECT *
FROM EMP
LIMIT 5,5;
显示第二页数据,每页显示五条数据;
总结:
m = (currentPage -1)*lineSize
n = lineSize
以上是oracle和MySQL的分页实现,SqlServer使用TOP
关键字来实现。
还没有评论,来说两句吧...