Oracle、SQL和DB2分页查询写法介绍

DB2分页查询和Oracle、SQL中的分页查询语句写法都不太一样,下面就为您介绍DB2分页查询和其他数据库中分页查询的区别,希望对您有所帮助。

Oracle分页查询写法:

一:Oracle 

   select * from (select rownum, name from table where rownum <= endIndex and rownum > startIndex)

二:DB2

DB2分页查询

  
  
  
  
  1. SELECT * FROM (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN 10 AND 20 

以上表示提取第10到20的纪录

 select * from (select rownumber() over(order by id asc) as rowid from table where rowid <=endIndex and rowid > startIndex) 

     注:以上db2 sql 在 IBM DB2 UDB v8.2 v9.7上测试通过,也可将rownumber()改为row_number(),验证通过。

三:MySQL:

 select * from table limit start, pageNum 

 

原文链接地址:http://database.51cto.com/art/201011/232337.htm

你可能感兴趣的:(Oracle、SQL和DB2分页查询写法介绍)