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
我想按照附图中显示的方式获得输出 输入的组织方式也显示在附图中。
谢谢!
您的问题逻辑不明确,但我将其理解为 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