Oracle中利用rowNum对有order by结果集进行分页操作
2012-03-07 15:54
281 查看
在Oracle中,对查询结果集进行排序,然后在进行分页操作。利用rownum进行分页,确保在分页结果集不出现重复记录,sql语句可以进行如下写法。
即:进行2层子查询操作。
select *
from (select row_.* , rownum rownum_
from (SELECT t.contract_no contractNo,
t.boq_no boqNo,
t.work_units_id wkUtId,
t.work_units_number wkUtNo,
t.work_unit_status wkUtStatus,
t.remark wkUtRemark,
t.config_engineer wkUtConfigEngineer,
t.boq_version boqVersion
FROM pc_work_unit_all_v t
WHERE t.boq_type != 3
AND t.status_code IN (10, 50)
AND t.config_engineer_id = TRIM('7030490831')
AND t.contract_no LIKE TRIM('0') || '%'
ORDER BY t.boq_no, t.work_units_number, t.work_units_id) row_
where rownum < 60)
where rownum_ > 30
即:进行2层子查询操作。
select *
from (select row_.* , rownum rownum_
from (SELECT t.contract_no contractNo,
t.boq_no boqNo,
t.work_units_id wkUtId,
t.work_units_number wkUtNo,
t.work_unit_status wkUtStatus,
t.remark wkUtRemark,
t.config_engineer wkUtConfigEngineer,
t.boq_version boqVersion
FROM pc_work_unit_all_v t
WHERE t.boq_type != 3
AND t.status_code IN (10, 50)
AND t.config_engineer_id = TRIM('7030490831')
AND t.contract_no LIKE TRIM('0') || '%'
ORDER BY t.boq_no, t.work_units_number, t.work_units_id) row_
where rownum < 60)
where rownum_ > 30
相关文章推荐
- oracle中利用rownum进行分页的问题
- 利用redis缓存对 list集合中的数据 进行分页操作(一)
- Oracle、SQL Server、Access利用SQL语句进行高效果分页
- oracle 使用rownum进行分页的陷阱
- 利用jdbc对数据表进行分页,操作存储过程(有参与无参,返回游标),函数等
- oracle使用rownum进行分页语句详解
- Oracle下用rownum进行分页时排序的错乱
- 利用Oracle目录对文件进行读写操作
- 利用Rownum对数据按GridView 的PageSize进行划分,为分页显示做准备
- oracle 使用rownum进行分页
- 利用Oracle伪例-ROWNUM实现分页
- Oracle、SQL Server、Access利用SQL语句进行高效果分页
- Oracle中利用undo进行数据的恢复操作
- 利用redis缓存对 list集合中的数据 进行分页操作
- Oracle下用rownum进行分页时排序的错乱 .
- 利用mmap和数组方式的存取操作对结构化数据文件进行修改
- [Oracle]利用Job和Procedure进行项目自动编号
- Oracle rownum与分页
- sql数据分组后进行的分页操作
- oracle 使用rownum分页及注意事项