在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