3 つの列を持つテーブルがあります。
- タスクの開始予定時刻 (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