【发布时间】:2012-01-29 13:03:13
【问题描述】:
我想将范围计算为row1-row2,需要db2查询中的帮助来获取范围列
name,age,range
a,40,0
b,20,20
c,7,13
d,5,2
e,1,4
范围列计算
first value is 0
(40-20)
(20-7)
(7-5)
(5-1)
【问题讨论】:
-
另请参阅此问题:Optimizing ROW_NUMBER() in SQL Server,了解实现相同结果的各种其他方法。
-
@ypercube:我认为该帖子与此处无关,因为它涉及使用窗口函数的值连接结果集。此外:性能是非常具体的实现。
-
@a_horse_with_no_name:我同意性能是特定于实现的。但是,如果没有
lag()函数,您确实需要使用Row_Number()窗口函数(或其他一些自联接方式)进行自联接。 -
@ypercube:我同意。但是 DB2 确实有
lag()函数 :) -
我同意,对于具有该功能的版本,这是最好的方法。