【发布时间】:2020-09-27 16:46:15
【问题描述】:
我在 Teradata 数据集中遇到这种情况:
ID DATE1
134311784 14-2-2019 (first visit)
134311784 7-3-2019 (second visit)
134311784 22-3-2019 (third visit)
234567891 10-2-2019 (first visit)
234567891 17-2-2019 (second visit)
234567891 22-2-2019 (third visit)
234567891 18-3-2019 (fourth visit)
我希望这样:
ID DATE1 DIFFERENCE
134311784 14-2-2019 0 NEW VISITOR
134311784 7-3-2019 21 --> (second -first ) = 21
134311784 22-3-2019 15 --> (third - second ) = 15
234567891 10-2-2019 0 NEW VISITOR
234567891 17-2-2019 7
234567891 22-2-2019 5 ..
234567891 18-3-2019 24 ..
我该如何做到这一点?
我尝试使用子查询,但它没有给出想要的结果。
SELECT t1.visit, t1.date1,T2.date1, abs( t2.date2-t1.date1) as difference
FROM data_want T1
left join data_want T2
on T1.visit=T2.visit
WHERE t2.date1 > t1.date1
【问题讨论】: