sql 如何实现本行字段与 上一行字段相等时,本行的一个字段值等于上一行的减去本行的一个值

FID fnumber a b c

1 N1 120 1630 1630

2 N1 180 0 1450

3 N1 200 0 1250
当第2行的FNUMBER这个值等于第一行时,c=上一行的b-a 的值,

当第3行的FNUMBER这个值等于第一行时,c=上一行的b-a 的值,

select FID,case when t1.fnumber=t2.fnumber then t2.b=t2.a else t2.c end from 表 t1 left join (select FID-1 fid,fnumber,a,b,c from 表) t2 on t2.fid=t1.fid
不知道你要的是不是这样
温馨提示:答案为网友推荐,仅供参考
相似回答