字段 A B C D E
-----------------------------------
A 5 b 1 4
A 5 e 2 2
A 5 q 1 1
B 10 o 2 8
B 10 t 3 5
E 6 i 2 4
E 6 m 3 1
D 3 w 1 2
D 3 l 2 0
我得表结构 是这样得 本来是4列 E列得递减 我是通过MODEL DIMENSION BY 函数实现得 但是 我现在像要显示得是这样
字段 A B C D E
-----------------------------------
A 5 b 1 0
A 5 e 2 0
A 5 q 1 1
B 10 o 2 0
B 10 t 3 5
E 6 i 2 0
E 6 m 3 1
D 3 w 1 0
D 3 l 2 0
这样 用很么函数能实现啊!帮帮忙
-----------------------------------
A 5 b 1 4
A 5 e 2 2
A 5 q 1 1
B 10 o 2 8
B 10 t 3 5
E 6 i 2 4
E 6 m 3 1
D 3 w 1 2
D 3 l 2 0
我得表结构 是这样得 本来是4列 E列得递减 我是通过MODEL DIMENSION BY 函数实现得 但是 我现在像要显示得是这样
字段 A B C D E
-----------------------------------
A 5 b 1 0
A 5 e 2 0
A 5 q 1 1
B 10 o 2 0
B 10 t 3 5
E 6 i 2 0
E 6 m 3 1
D 3 w 1 0
D 3 l 2 0
这样 用很么函数能实现啊!帮帮忙
A 5 e 2 2
A 5 q 1 1
B 10 o 2 8
B 10 t 3 5
分组后取得下一条记录的E,即LAG(E),得到
A B C D E LAG(E)
A 5 b 1 4 2
A 5 e 2 2 1
A 5 q 1 1 null
B 10 o 2 8 5
B 10 t 3 5 null
再判断LAG(E)不为空E就为0,
SELECT A,B,C,D,NVL2(F,E,0)
FROM (
select A,B,C,D,E,lag(E)over(PARTITION BY A ORDER BY A) AS F
from tab
)