【发布时间】:2019-09-04 11:58:35
【问题描述】:
有如下调度日志表:
ScheduleLogID |ScheduleID |WorkerStatusID |StatusLogDatetime
------------------------------------------------------------------------
38 |202 |1 |2019-09-04 12:06:43.6216195
39 |202 |4 |2019-09-04 12:07:33.1519370
40 |202 |1 |2019-09-04 12:07:43.6976046
41 |202 |2 |2019-09-04 12:07:53.3540665
42 |202 |1 |2019-09-04 12:08:01.4505184
43 |202 |3 |2019-09-04 12:08:10.1397741
44 |202 |1 |2019-09-04 12:08:16.0210118
45 |202 |2 |2019-09-04 12:08:24.8038681
46 |202 |1 |2019-09-04 12:08:31.5119111
47 |202 |5 |2019-09-04 12:08:42.3227804
48 |224 |1 |2019-09-04 12:21:13.6859968
49 |224 |4 |2019-09-04 12:22:54.9930462
50 |224 |1 |2019-09-04 12:23:00.8586838
51 |224 |4 |2019-09-04 12:23:07.6291272
52 |224 |1 |2019-09-04 12:23:12.2779570
53 |224 |2 |2019-09-04 12:23:20.0936071
54 |224 |1 |2019-09-04 12:23:26.2556466
55 |224 |4 |2019-09-04 12:23:40.5921385
56 |224 |1 |2019-09-04 12:23:48.6417901
57 |224 |5 |2019-09-04 12:23:56.3482395
如何计算每个Status 花费在每个Schedule 上的总时间?
结果应该是这样的:
ScheduleID |WorkerStatusID |TimeSpent
--------------------------------------------
202 |1 |06:30:00
202 |2 |00:15:00
202 |3 |00:30:00
202 |4 |00:15:05
224 |1 |06:45:00
224 |2 |00:20:00
224 |3 |00:25:00
224 |4 |00:10:05
【问题讨论】:
-
到目前为止,您尝试了哪些方法来解决问题?另外,请不要将数据作为图像提供;您寻求帮助的用户无法使用它,使其有点无用。以表格格式
text或 DDL 和 DML 语句的形式提供数据。 -
计算总时间的公式/逻辑是什么?
-
A
Worker可以处于不同的状态:1-工作,2-暂停.... 5-完成。每次他更改时,我都会记录时间和状态,并想知道他在每个状态上花了多少时间,直到他Finished
标签: sql-server reporting