2

同様の問題があります。どなたか解決策を教えてください。以下は表の値です

    10    
    20    
    30   
    40

このような出力が欲しい

10  10-2     8    
20  20-8    12    
30  30-12   18    
40  40-18   22   

昇順で並べ替え、常に最初のレコードに対して 2 を減算し、その結果を後続のレコードに使用します。

4

2 に答える 2

0

完全性のために - 基本的な再帰的ソリューション:

SQLフィドル

with t(val, n) as (
  select val, val-2 from test where val = 10
  union all select test.val, test.val-n from test, t where test.val = t.val + 10 )
select * from t
于 2015-06-30T23:22:54.190 に答える