我有两个字段 - 日期和OPR_DIST
,我需要计算OPR_MILEAGE
对于OPR_MILEAGE
- 如果Null(?)
中的Zero
和OPR_DIST
,则ZERO
的{{1}}
如果OPR_MILEAGE
不为零(例如:OPR_DIST
),我会检查上一页。记录(此处为0)因此与0.37
对应的OPR_MILAGE
为0.37
如果0
不为零(例如:OPR_DIST
),我会检查上一页。记录(此处为0.46
,不为零)因此0.37
对应OPR_MILAGE
与0.46
OPR_DIST
相同
所以,无论如何,如果我的前一条记录为0.46
,我zero
的当前值为OPR_MILEAGE
,其他为zero
。我正在使用的版本是TD 13
OPR_DIST
我是TD新手。对此有任何启示都有帮助。
答案 0 :(得分:2)
如果有一列确定订单(可能是时间戳),您只需要查看上一行的值:
CASE WHEN MAX(OPR_DIST)
OVER (ORDER BY ??? -- previous row
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) > 0
THEN OPR_DIST
ELSE 0
END