oracle mysql SqlServer 实现分页查询语句
2017-10-13 10:23
951 查看
Oracle, SQL Server 和MySQL的分页SQL语句如下:
oracle:方法1
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21;
方法二:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
)
WHERE RN between 21 and 40
第二种方法效率没有第一种高。原因是第二种要把子查询执行完,而第一种方法子查询执行到Rownum=40后就结束了。
MySQL:
SELECT * FROM TABLE_NAME LIMIT 10, 20
表示从第11条数据开始取20条数据返回,limit后的2个参数含义为:起点和步长,即从那条数据开始,取多少条数据,再如取前20条数据:SELECT * FROM TABLE_NAME LIMIT 0, 20
SQL
Server 2005:
方法一:
SELECT ...
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY ID asc) AS RowNum, ......
FROM TABLE_NAME
) AS T
WHERE T.RowNum> 10 and T.RowNum<= 20
方法二:
WITH DataList AS
(
SELECT ROW_NUMBER() OVER (ORDER BY O.ID DESC)AS RowNum, ......
FROM .....
WHERE ......
)
SELECT ......
FROM DataList
WHERE RowNum BETWEEN 10 AND 20
oracle:方法1
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21;
方法二:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
)
WHERE RN between 21 and 40
第二种方法效率没有第一种高。原因是第二种要把子查询执行完,而第一种方法子查询执行到Rownum=40后就结束了。
MySQL:
SELECT * FROM TABLE_NAME LIMIT 10, 20
表示从第11条数据开始取20条数据返回,limit后的2个参数含义为:起点和步长,即从那条数据开始,取多少条数据,再如取前20条数据:SELECT * FROM TABLE_NAME LIMIT 0, 20
SQL
Server 2005:
方法一:
SELECT ...
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY ID asc) AS RowNum, ......
FROM TABLE_NAME
) AS T
WHERE T.RowNum> 10 and T.RowNum<= 20
方法二:
WITH DataList AS
(
SELECT ROW_NUMBER() OVER (ORDER BY O.ID DESC)AS RowNum, ......
FROM .....
WHERE ......
)
SELECT ......
FROM DataList
WHERE RowNum BETWEEN 10 AND 20
相关文章推荐
- 数据库MySQL、Oracle、SQLServer、db2分页查询语句
- MySQL、Oracle、SQLServer 数据分页查询语句
- sqlserver,oracle,mysql分页查询语句
- MySQL、SqlServer、Oracle三大主流数据库实现分页查询的方法
- Mysql Oracle sqlserver 数据分页查询语句
- sqlserver ,mysql,oracle 语句实现分页
- Oracle sqlserver MySQL三种数据库查询分页语句
- Oracle, SQL Server, My SQL如何实现数据分页查询语句
- 3大数据库(Sql-Server,MySql和Oracle)的分页SQL语句实现
- MySQL、SqlServer、Oracle、DB2四大数据库分页查询
- oracle,mysql,SqlServer三种数据库的分页查询的实例
- Oracle,SQl,MySql实现分页查询
- 关于SQLServer和MySQL 查询分页语句区别
- mysql,sqlServer,oracle分页查询
- 通用ORACLE 分页查询语句,存储过程实现
- oracle,mysql,SqlServer三种数据库的分页查询的实例
- 数据库分页sql语句(mysql,oracle,sqlserver,DB2)
- oracle,mysql,SqlServer三种数据库的分页查询
- SQLSERVER,ORACLE,MYSQL高效分页查询
- 教你优化MySQL查询语句,实现高效分页,轻松响应60W请求