- UID
- 94317
- 阅读权限
- 100
- 帖子
- 2068
- 精华贴数
- 0
- 技术排名
- 517
- 技术积分
- 4065
- 社区排名
- 7887
- 社区积分
- 43
- 注册时间
- 2004-7-22
- 精华贴数
- 0
- 技术积分
- 4065
- 社区积分
- 43
- 注册时间
- 2004-7-22
- 论坛徽章:
- 12
|
发表于 2005-4-26 22:35:16
|显示全部楼层
- SQL> select fphm,lpad(kshm,8,'0') kshm
- 2 from t
- 3 /
- FPHM KSHM
- ---------- ----------------
- 2014 00000001
- 2014 00000002
- 2014 00000003
- 2014 00000004
- 2014 00000005
- 2014 00000007
- 2014 00000008
- 2014 00000009
- 2013 00000120
- 2013 00000121
- 2013 00000122
- FPHM KSHM
- ---------- ----------------
- 2013 00000124
- 2013 00000125
- 13 rows selected.
- SQL> set echo on
- SQL> @bbb.sql
- SQL> select fphm,lpad(kshm,8,'0') start_kshm,lpad(prev_prev_kshm,8,'0') end_kshm
- 2 from (
- 3 select fphm,kshm,next_kshm,prev_kshm,
- 4 lag(kshm,1,null) over (partition by fphm order by kshm )next_next_kshm,
- 5 lead(kshm,1,null) over (partition by fphm order by kshm ) prev_prev_kshm
- 6 from (
- 7 select *
- 8 from (
- 9 select fphm,kshm,
- 10 lead(kshm,1,null) over (partition by fphm order by kshm) next_kshm,
- 11 lag(kshm,1,null) over (partition by fphm order by kshm) prev_kshm
- 12 from t
- 13 )
- 14 where ( next_kshm - kshm <> 1 or kshm - prev_kshm <> 1 )
- 15 or ( next_kshm is null or prev_kshm is null )
- 16 )
- 17 )
- 18 where next_kshm - kshm = 1
- 19 /
- FPHM START_KSHM END_KSHM
- ---------- ---------------- ----------------
- 2013 00000120 00000122
- 2013 00000124 00000125
- 2014 00000001 00000005
- 2014 00000007 00000009
- SQL> spool off
复制代码 |
|