SQl 查询以获得类似于图像的输出

SQl Query to get an output that resembles the image

我想按照附图中显示的方式获得输出 输入的组织方式也显示在附图中。

谢谢!

您的问题逻辑不明确,但我将其理解为 gaps-and-island 问题,其中每个岛屿都以 start 状态开始。

这是一种方法,它使用 window 开始计数来定义组,然后聚合:

select container, grp, sum(units), min(move_time) start_time, max(move_time) end_time
from (
    select t.*, 
        sum(case when status = 'start' then 1 else 0 end) over(partition by container order by move_time) grp
    from mytable t
) t
group by container, grp
order by container, grp