要學的東西很多,一直在努力中............!
希望佛祖赐予我智慧吧!阿门!!!
DECODE(LAG()OVER............) 的用法
上一篇 /
下一篇 2008-01-05 11:12:20
/ 个人分类:ORACLE 開發
DECODE(LAG()OVER............) 的用法
SQL> WITH A AS (SELECT 1 ID,'A' NAME FROM DUALITPUB个人空间 X`~v8D#wmYp4n
2 UNION ALL
jc7xd)Q5U$G x0 3 SELECT 1 ID,'B' NAME FROM DUAL
T@I0q@:PhW{
Y Z0 4 UNION ALL
WeboJ)O]w$y7|0 5 SELECT 1 ID,'C' NAME FROM DUALITPUB个人空间g)[HbA,q1bT8y(dgH
6 UNION ALLITPUB个人空间[&e5u9L
w`2~
7 SELECT 2 ID,'D' NAME FROM DUALITPUB个人空间R
AR-^YM1S
8 UNION ALL
v atW"^0GQ%A0 9 SELECT 2 ID,'E' NAME FROM DUAL
T A7n$E
?0\R W7]$c,\0 10 UNION ALL
lJ(`
GYyjiyMr~0 11 SELECT 2 ID,'F' NAME FROM DUALITPUB个人空间qW?a9?+R7u;y#X8}
12 )
6a+UF|:r6\0 13 select decode(lag(A.id) over(order by A.id),A.id,to_number(null),A.id) as newid,ITPUB个人空间Ou!F"I |RMz,tA
14 A.name
y-i!{d]!n u0 15 from A;
?gp9tJ'@0 ITPUB个人空间#y_hV8L2n-B:QJP
NEWID NAMEITPUB个人空间&z1wf&s'kR
---------- ----
MJ@%}O;U0 1 AITPUB个人空间D|#XP"L8B1a kY
BITPUB个人空间U
W7md{
H%k
C
+V;\4WN2Q+H2Xjy0 2 D
a9U8pKR&isZN#wL0D0 E
CC ^}}P0XUR0 F
9H aNC[0 ITPUB个人空间 J"Y v#k`+\#Mk
6 rows selected
SQL> with a as (select 1 id,'王五' NAME,'0001' certified FROM DUAL
i-T6g?w aK^S0 2 UNION
x;H0o3x$pq0 3 select 1 id,'王五' NAME,'0002' certified FROM DUALITPUB个人空间#tb"a:B\
4 UNION
G${0O,G)T0 5 select 1 id,'王五' NAME,'0003' certified FROM DUALITPUB个人空间
W%a D}le"U.J7Wt
6 UNION
9o(n6_6ksNr0 7 select 1 id,'王五' NAME,'0004' certified FROM DUAL
3j5[Z#{S_0 8 )
c-](j:u*xB|0 9 select decode(lag(A.id) over(order by A.id,certified),A.id,to_number(null),A.id) as ID,
E:X
~X~`!EU.^#Z0 10 decode(lag(A.NAME) over(order by A.id,certified),A.NAME,to_CHAR(null),A.NAME) NAME,certified
#n
djhB&j