我有一个包含三列的表。
- 任务应该开始的时间 (nominalStartTime)
- 什么时候开始(startTime)
- 当它结束时(endTime)
大约有一堆任务计划每 15 分钟运行一次。我需要知道第一个任务开始时间和最后一个任务结束时间之间的区别。例如,见下文
NominalStartTime | startTime | endTime
____________________|_____________|____________
2012-09-19 08:15:00 | 08:15:41.27 | 08:15:47.00
2012-09-19 08:15:00 | 08:15:45.13 | 08:15:45.43
2012-09-19 08:15:00 | 08:15:49.88 | 08:15:50.13
2012-09-19 08:30:00 | 08:30:25.27 | 08:30:26.00
2012-09-19 08:30:00 | 08:30:45.13 | 08:30:45.43
2012-09-19 08:30:00 | 08:30:49.88 | 08:30:50.13
我正在寻找要返回的查询
NominalStartTime | startTime | endTime | difference
____________________|_____________|_____________|____________
2012-09-19 08:15:00 | 08:15:41.27 | 08:15:50.13 | 00:00:08.86
2012-09-19 08:30:00 | 08:30:25.27 | 08:30:50.13 | 00:00:24.86
我试过这个,但我得到聚合组错误等
Select NominalStart, MIN(TimeStarted) as TimeStarted, MAX(TimeEnded) as TimeEnded, DATEDIFF(ms, TimeStarted, TimeEnded)
FROM taskRuns
GROUP BY NominalStart
ORDER BY NominalStart