现在我想创建不同的行 . 这意味着,在这种情况下,路线为: 身份2-3 id 7-12 id 13-16 id 17-18
有没有人知道如何自动化这个?
提前致谢!
1 回答
0
您似乎想要任何速度为1或前一速度为1的行 . 然后您想要聚合相邻的ID .
您可以通过在当前日期之前严格计算“1”的数量来计算 - 使用窗口函数或算术 . 这是一种方法:
select participant, min(id), max(id)
from (select t.*,
( sum( (speed = 0)::0 ) over (partition by participant order by id) - (id = 0)::int ) as grp
from t
) t
group by participant, grp;
1 回答
您似乎想要任何速度为1或前一速度为1的行 . 然后您想要聚合相邻的ID .
您可以通过在当前日期之前严格计算“1”的数量来计算 - 使用窗口函数或算术 . 这是一种方法: