欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

不同数据库Oracle MySQL SQL Server DB2 infomix sybase分页查询语句

程序员文章站 2024-01-06 23:03:10
...

不同数据库Oracle MySQL SQL Server DB2 infomix sybase分页查询语句

在不同数据库中的使用的分页查询语句:

当前页:currentpage
页大小:pagesize


1. Oracle数据库

select * from (select A.*,rownum rn from ( QUERY_SQL ) A ) where rn (currentpage*pagesize)

注:QUERY_SQL为查询sql语句。

select * from (select rownum rn,id from TABLENAME where rownum = (currentpage*pagesize)

2. Infomix数据库

select skip currentpage first pagesize * from TABLENAME

3. DB2数据库

select * from (select 字段1,字段2,字段3,rownumber() over(order by 排序用的列名 asc) as RN from 表名) as A1 where A1.RN between (currentpage*pagesize) and ((currentpage+1)*pagesize)

select * from (select rownumber() over(order by id asc ) as rowid from table where rowid (currentpage*pagesize)


4. SQL Server数据库

select top pagesize *
from TABLENAME
where COLLUMN_NO not in
(select top currentpage*pagesize COLLUMN_NO from TABLENAME order by COLLUMN_NO)
order by COLLUMN_NO

5. Sybase数据库

Sybase 12.5.3版本支持top查询,,或使用set rowcount N查询头N条数据
另外采用临时表:
select rowid=identity(12), column_name into #TEMPTABLE from TABLENAME
select column_name from #TEMPTABLE where rowid >(currentpage*pagesize) and rowid

6. MySQL数据库

SELECT * FROM TABLE1 LIMIT (currentpage*pagesize),pagesize

上一篇:

下一篇: