Oracle分页写法

2020-12-16  本文已影响0人  wyymaomi

https://www.cnblogs.com/elikun/p/10101288.html

1. 概述

rownum是Oracle引入的虚列
在物理上这个虚列并不存在,只是在查询时才构造出来。伪列通常是自由分配的,用户无法执行修改等操作。

2. 特点

关于rownum有以下主要特点:
1)rownum不属于任何表。
2)rownum存在的前提,先有结果表。
3)rownum总是从1开始。
4)rownum一般只和<(<=)一起用。
5)使用rownum进行分页查询需要把rownum转化为实列,并针对rownum查询。

select *
  from (select a.*, rownum ROW_NEXT
          from (select pr.CARD_ID,
                       pr.ZC_CODE,
                       pr.ZC_NAME,
                       pr.ZC_TYPE,
                       pr.UNI_PRJ_CODE,
                       pr.BILL_AMT,
                       pr.SZ_NAME
                  from v_zjk_zc_proj pr
                 where 1 = 1
                   and pr.ZC_CODE in
                       (select ZC_CODE
                          from V_ZJK_ZC_CHANGE
                         where ORDER_NO like '%20071140%')) a) PRODUCT_TEMP
 WHERE ROW_NEXT BETWEEN 1 and 20
上一篇 下一篇

猜你喜欢

热点阅读