考虑如下表:
col1 col2 col3
1000 RRR 100000
2000 RRR 400000
3000 RRR 300000
4000 YYY 200000
5000 YYY 400000
6000 RRR 400000
6000 ZZZ 500000
我想要的输出:
1000 RRR 0
2000 RRR 300000
3000 RRR 100000
6000 RRR 400000
....
我需要在col2
上执行分区,按col3
排序,然后在行上找到差异。
您可以使用以下代码片段作为查询的基础:
SELECT c1, c2,
c3 - nvl(lag(c3) OVER (PARTITION BY c2 ORDER BY c1), c3) as diff
FROM t;