【发布时间】:2016-02-03 17:00:14
【问题描述】:
这是一个表格,其中包含员工的工作时间,该任务可能跨越也可能不跨越两天(或更长时间)。
需要帮助按每个员工的日期和任务 ID 分别以小时、分钟和秒为单位汇总时间。
表格示例:
Emp_ID | Task_ID | Task_start_date_time | Task_stop_date_time
A1 | 123 | 01/13/2016 11:30:30 PM | 01/14/2016 12:30:30 AM
B1 | 124 | 01/16/2016 10:30:35 PM | 01/18/2016 2:30:35 AM
C1 | 125 | 01/19/2016 9:30:20 AM | 01/19/2016 2:30:20 PM
D1 | 126 | 01/20/2016 3:15:25 AM | 01/21/2016 2:25:25 PM
所需的 SQL 结果集:
A1 | 123 | 01/13/2016 | 00:29:30
A1 | 123 | 01/14/2016 | 04:30:30
B1 | 124 | 01/16/2016 | 01:29:25
B1 | 124 | 01/17/2016 | 24:00:00
B1 | 124 | 01/18/2016 | 02:30:35
C1 | 125 | 01/19/2016 | 05:00:00
D1 | 126 | 01/20/2016 | 20:44:35
D1 | 126 | 01/20/2016 | 14:25:25
提前致谢。
补充:一个 eid 和 tid 有多行?并且需要以同样的方式聚合。
表格示例:
Emp_ID | Task_ID | Task_start_date_time | Task_stop_date_time
A1 | 123 | 01/13/2016 11:30:30 PM | 01/14/2016 12:30:30 AM
A1 | 123 | 01/14/2016 10:30:35 AM | 01/14/2016 2:30:35 PM
B1 | 124 | 01/16/2016 10:30:35 PM | 01/18/2016 2:30:35 AM
C1 | 125 | 01/19/2016 9:30:20 AM | 01/19/2016 2:30:20 PM
D1 | 126 | 01/20/2016 3:15:25 AM | 01/21/2016 2:25:25 PM
所需的 SQL 结果集:
A1 | 123 | 01/13/2016 | 00:29:30
A1 | 123 | 01/14/2016 | 08:30:30
B1 | 124 | 01/16/2016 | 01:29:25
B1 | 124 | 01/17/2016 | 24:00:00
B1 | 124 | 01/18/2016 | 02:30:35
C1 | 125 | 01/19/2016 | 05:00:00
D1 | 126 | 01/20/2016 | 20:44:35
【问题讨论】:
-
哎呀!表格和结果布局不正确。
-
我的问题的“所需的 sql 结果集”部分也有错字。第二行应该是:A1 | 123 | 2016 年 1 月 14 日 | 00:30:30
标签: oracle date aggregate break