求教SQL语句
ZDSXH LDSXH ZDSXH2
10 10
20 30
30 50
40 80
50 80
select ZDSXH, LDSXH,LDSXH-val ZDSXH2 from
(select t.ZDSXH,t.LDSXH,row_number() over(partition by t.LDSXH order by t.ZDSXH desc) val from test_table t)
order by ZDSXH;
使用以上语句可以使ZDSXH2得到如果下结果
9
29
49
78
79
如何才能使以上语句按照线路名称依次执行,得出ZDSXH2的值呢?举例如下:
XLMC ZDSXH LDSXH ZDSXH2
01路 10 10 9
01路 20 20 19
01路 30 30 28
01路 40 30 29
02路 10 10 9
02路 20 30 29
02路 30 50 48
02路 40 50 49
03路 10 20 19
03路 20 30 27
03路 30 30 28
03路 40 30 29
…………