我有这个数据集。第1,2,3,4和5列。我想仅在看到交易类型" A1"时才减去后续交易之间的时间。 。首先应该检查是否有相同的ID,指标已经改变。如果有,那么我想要指标1的A1和指标2的A1之间的减法。 如果指标未更改,请查看ID并查看是否已更改。如果有,则找到紧邻的下一个A1并减去时间。
我想在新列中显示结果,如上所示(TRANSACTION TIME,以分钟为单位)。而且,我正在使用Teradata SQL Assistant。
答案 0 :(得分:1)
没关系:
1)可以通过OLAP函数找到最后/前一条记录,当使用1条记录作为窗口时,只需使用MIN / MAX
MAX(COL1) OVER (PARTITION BY COL_Key1, COL_Key2 ORDER BY COL_Timestamp ASC ROWS 1 PRECEDING) as COL1_Preceding
2)if if then可以通过CASE WHEN xxx那么xxx [当yyy那么yyy] [ELSE zzz] END