在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
本文详细介绍了如何在Oracle环境中,通过使用rownum进行分页操作,确保分页结果集不出现重复记录。通过两层子查询操作实现复杂条件下的排序与分页,适用于特定场景下的数据检索需求。
329

被折叠的 条评论
为什么被折叠?



