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关键字来实现。

你可能感兴趣的:(SQL)