admin管理员组文章数量:1530518
2024年5月17日发(作者:)
一、DB2:
DB2分页查询
SELECT * FROM (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序
用的列名 ASC) AS rn from 表名) AS a1 WHERE BETWEEN 10 AND 20
以上表示提取第10到20的纪录
select * from (select rownumber() over(order by id asc ) as rowid from table
where rowid <=endIndex ) where rowid > startIndex
如果Order By 的字段有重复的值,那一定要把此字段放到 over()中
select * from ( select ROW_NUMBER() OVER(ORDER BY DOC_UUID DESC) AS
ROWNUM, DOC_UUID, DOC_DISPATCHORG, DOC_SIGNER, DOC_TITLE from
DT_DOCUMENT ) a where ROWNUM > 20 and ROWNUM <=30
增加行号,不排序
select * from ( select ROW_NUMBER() OVER() AS ROWNUM,t.* from
DT_DOCUMENT t ) a
增加行号,按某列排序
select * from ( select ROW_NUMBER() OVER( ORDER BY DOC_UUID DESC ) AS
ROWNUM,t.* from DT_DOCUMENT t ) a
二、Mysql:
最简单
select * from table limit start,pageNum
比如从10取20个数据
select * from table limit 10,20
三、Oracle:
select * from (select rownum,name from table where rownum <=endIndex )
where rownum > startIndex
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT *
FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2
Where t2.R >= 10
四、 sql server:
版权声明:本文标题:各种数据库分页查询SQL 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1715922197a477020.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论