我需要第一个TSL发送者与后续供应商和下一个第一个TSL作为供应商的下一个后续发送者的日期差异
期望输出
发布于 2021-01-12 21:14:20
您可以通过计算每行上或之后的'Vendor'
值的数量来为行分配分组。然后每个分组都以'Vendor'
结束,您可以在该组中使用窗口函数:
select t.*,
(case when sender = 'vendor'
then datediff(second,
min(date) over (partition by grp),
max(date) over (partition by grp)
) / (24 * 60 * 60.0)
end) as diff
from (select t.*,
sum(case when sender = 'Vendor' then 1 else 0 end) over (order by id desc) as grp
from t
) t;
https://stackoverflow.com/questions/65679277
复制相似问题