我正在尝试计算第一条记录和第二条记录之间的时间。我的想法是为每个记录添加一个排名,然后对RN 2-RN 1进行计算。我很难真正让子查询完成RN2-RN1。
样本数据:
user_id | 日期 | rn|
---|---|---|
69899887372899929044 | 2021-04-08 11:27:38 | <1>|
69899887372899929044 | 2021-04-08 12:20:25 | 2 |
69899887372899929044 | 2021-04-01 13:23:59 | 3 |
732850336550572910 | 2021-03-2306:13:25 | 1|
598830651911547855 | 2021-03-11 11:56:53 | 1 |
您可以将结果与自身连接以获得第一行和第二行。
例如:
with
q as (
-- your query here
)
select
f.user_id,
f.date,
s.date - f.date as diff
from q f
left join q s on s.user_id = f.user_id and s.rn = 2
where f.rn = 1