将2行合并为1行(开始和结束时间)

错误500

我不确定该如何措辞,但是我StartEnd时间在不同的行中,我想将它们合并为一行。在此样本数据中,它基本上是跟踪/记录项目时间:

Project  Type    Time
A        Start   1:00
A        End     1:10
B        Start   2:00
B        End     2:10
B        Start   2:30
B        End     2:45
C        End     3:00
D        Start   3:10
D        End     3:20

我正在寻找的是这样的:

Project  Start    End
A        1:00     1:10
B        2:00     2:10
B        2:30     2:45
C        NULL     1:10
D        3:10     3:20

这两个奇怪的部分是:

  • 同一项目(例如上面的项目B)可能有多个开始/结束时间对,可能在同一天背对背或分开
  • 我可能缺少一些开始时间或结束时间。

谁能指出我正确的方向?我在Stackoverflow上找不到具有这些相同要求的任何内容。

专线小巴

这是种隔and问题。

我会用lag()一个窗口来解决这个问题sum()一个新的小组开始,每次连续记录类型不'Start'跟一个'End'

select 
    project, 
    min(case when type = 'Start' then time end) Start,
    max(case when type = 'End' then time end) [End]
from (
    select
        t.*,
        sum(case when type = 'End' and lag_type = 'Start' then 0 else 1 end) 
            over(partition by project order by time) grp
    from (
        select
            t.*,
            lag(type) over(partition by project order by time) lag_type
        from mytable t
    ) t
) t
group by project, grp
order by project, grp

DB Fiddle上的演示

项目| 开始| 结束
:------ | :---- | 
-A | 1:00 | 1:10 
B | 2:00 | 2:10 
B | 2:30 | 2:45 
|   | 3:00 
D | 3:10 | 3:20

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将带有时间戳的几行合并为带有开始和结束时间戳的一行

来自分类Dev

熊猫合并具有相同开始和结束时间的行

来自分类Dev

MS SQL将日期行合并为开始结束日期

来自分类Dev

将多行电话数据合并为显示开始和结束日期的一行的脚本

来自分类Dev

如何用非事件的开始时间和结束时间填充第二行

来自分类Dev

如何用非事件的开始时间和结束时间填充第二行

来自分类Dev

将活动开始时间和结束时间转换为R dplyr / tidyr中多个组的合并数据

来自分类Dev

熊猫:将单独的开始/结束列合并为一行

来自分类Dev

将2个表的开始日期和结束日期合并为一个表

来自分类Dev

如何将2行合并为1行熊猫

来自分类Dev

使用3列将2行合并为1行

来自分类Dev

Dygraph选择的开始和结束时间

来自分类Dev

获取今天的开始和结束时间

来自分类Dev

窗口的开始和结束时间

来自分类Dev

如何将带有开始和结束时间列的行转换为R中的时间序列格式?

来自分类Dev

按开始时间和结束时间合并SQL Server中的记录

来自分类Dev

php拆分开始时间和结束时间并合并新数组

来自分类Dev

SQL将2个不同的行合并为1

来自分类Dev

SQL Server:将2行合并为1个条件

来自分类Dev

我必须验证时间为 1 小时。开始和结束时间不得超过 1 小时

来自分类Dev

将日期间隔按其开始时间和结束时间进行分组

来自分类Dev

LINQ查询,将检查开始时间和结束时间是否可用

来自分类Dev

Ruby:将方法合并为1行

来自分类Dev

SQL 将多行合并为 1 行

来自分类Dev

如何获得期间的开始时间和结束时间?

来自分类Dev

从日期时间戳记获取开始和结束时间

来自分类Dev

获取视频的开始时间和结束时间

来自分类Dev

时间戳python中昨天的开始和结束时间

来自分类Dev

如何在python中将第一行的结束时间作为第二行的开始时间

Related 相关文章

  1. 1

    将带有时间戳的几行合并为带有开始和结束时间戳的一行

  2. 2

    熊猫合并具有相同开始和结束时间的行

  3. 3

    MS SQL将日期行合并为开始结束日期

  4. 4

    将多行电话数据合并为显示开始和结束日期的一行的脚本

  5. 5

    如何用非事件的开始时间和结束时间填充第二行

  6. 6

    如何用非事件的开始时间和结束时间填充第二行

  7. 7

    将活动开始时间和结束时间转换为R dplyr / tidyr中多个组的合并数据

  8. 8

    熊猫:将单独的开始/结束列合并为一行

  9. 9

    将2个表的开始日期和结束日期合并为一个表

  10. 10

    如何将2行合并为1行熊猫

  11. 11

    使用3列将2行合并为1行

  12. 12

    Dygraph选择的开始和结束时间

  13. 13

    获取今天的开始和结束时间

  14. 14

    窗口的开始和结束时间

  15. 15

    如何将带有开始和结束时间列的行转换为R中的时间序列格式?

  16. 16

    按开始时间和结束时间合并SQL Server中的记录

  17. 17

    php拆分开始时间和结束时间并合并新数组

  18. 18

    SQL将2个不同的行合并为1

  19. 19

    SQL Server:将2行合并为1个条件

  20. 20

    我必须验证时间为 1 小时。开始和结束时间不得超过 1 小时

  21. 21

    将日期间隔按其开始时间和结束时间进行分组

  22. 22

    LINQ查询,将检查开始时间和结束时间是否可用

  23. 23

    Ruby:将方法合并为1行

  24. 24

    SQL 将多行合并为 1 行

  25. 25

    如何获得期间的开始时间和结束时间?

  26. 26

    从日期时间戳记获取开始和结束时间

  27. 27

    获取视频的开始时间和结束时间

  28. 28

    时间戳python中昨天的开始和结束时间

  29. 29

    如何在python中将第一行的结束时间作为第二行的开始时间

热门标签

归档