本帖最后由 duronshi 于 2012-4-22 16:41 编辑 first_value
last_value
with tmp as (
select 43728 id from dual union all
select 43729 from dual union all
select 43730 from dual union all
select 43731 from dual union all
select 43732 from dual union all
select 43733 from dual union all
select 43734 from dual union all
select 43735 from dual union all
select 43736 from dual union all
select 43737 from dual union all
select 43738 from dual union all
select 43739 from dual union all
select 43740 from dual union all
select 43741 from dual union all
select 43742 from dual union all
select 43743 from dual union all
select 43744 from dual union all
select 43745 from dual
)
selectfirst_value(id) over(partition by id order by id rows between 1 preceding and 1 following ) fist_ve,
last_value(id) over( order by id rows between 1 preceding and 1 following ) last_ve
from tmp
order by fist_ve