查找连续行的最小值和最大值
您有一个数据集,其中的行代表活动,按名称分组并按行号排序。目标是找到每个活动组中连续行的开始时间和结束时间的最小值和最大值。
使用行号差异的解决方案:
一种方法是使用行号之间的差异来识别相同的连续行活动:
with cte as ( select *, row_number() over (partition by name order by rn) as seqnum_n, row_number() over (partition by name, act order by rn) as seqnum_na from input ) select name, act, min(startt), max(endd) from cte group by seqnum_n - seqnum_na, name, act;
说明:
通过添加两个附加列创建一个名为 cte 的公用表表达式 (CTE):
以上是如何查找活动组内连续行的最小和最大开始时间和结束时间?的详细内容。更多信息请关注PHP中文网其他相关文章!