需求说明:
一张表有M行,其中有一排序列
求排序列的前N行和倒数N行的关联结果!PX
----------------
1
2
3
4
.
.
.
M
结果
q_px   h_px
1   m
2   m-1
3   m-2

解决方案 »

  1.   


    --不晓得是这个意思不?
     with tb as(
     select 1 px from dual union all
     select 2 from dual union all
     select 3 from dual union all
     select 4 from dual union all
     select 5 from dual union all
     select 6 from dual union all
     select 7 from dual union all
     select 8 from dual union all
     select 9 from dual union all
     select 10 from dual)
    --以上是提供数据的语句
     select * from
     (select row_number() over(order by px) r1,
            row_number() over(order by px desc) r2
     from tb)
     where rownum<=4  --这个4就是你说的N    R1         R2
    ------ ----------
        10          1
         9          2
         8          3
         7          4