name ID
张三 3
李四 6
王五 12
结果:
nam id 差额
张三 3 3-3=0
李四 6 6- 3=3
王五 12 12- 6=6
------解决思路----------------------
分析函数lag基本用法
SQL> with t as(
2 select '张三' A,3 B FROM DUAL UNION ALL
3 select '李四' A,6 B FROM DUAL UNION ALL
4 select '王五' A,12 B FROM DUAL
5 )
6 SELECT A,B,B-LAG(B,1,B)OVER(ORDER BY B) AS C
7 FROM T;
A B C
---- ---------- ----------
张三 3 0
李四 6 3
王五 12 6
SQL>
------解决思路----------------------
over(partition by name order by name,id)
------解决思路----------------------
增加partition即可
SELECT A,B,B-LAG(B,1,B)OVER(partition by A ORDER BY B) AS C
FROM T;
------解决思路----------------------
partition by分组加上