Запрос времени и даты Microsoft SQL Server

#sql-server

Вопрос:

Я работаю с большим набором данных, который записывает все задания, выполненные для инструмента ETL. Существует около 1500 заданий, которые выполняются в день, и многие из них могут выполняться менее 10 секунд.

Данные

Что я пытаюсь сделать, так это получить некоторую статистику для времени выполнения этих периодов выполнения.

В идеале мне нужно было время выполнения всех заданий в день, и я выполнял этот запрос:

 SELECT 
    RUNDATE = CAST(runstart AS date), 
    TOTALRUNTIME = CAST(DATEADD(ms, SUM(CAST(DATEDIFF(ms, '00:00:00', CAST(RUNTIME AS time)) AS BIGINT)), '00:00:00') AS Time) 
FROM 
    "CADIS"."vwSolutionHistory" 
GROUP BY 
    CAST(runstart AS date)
 

Однако это дало некоторые странные результаты.

Например, один день показал общее время выполнения 23:56:27,4833333, и в среднем у нас есть только задания, работающие около 11-12 часов в день, поэтому общее время выполнения 23 часа не имело смысла. Так что, если у кого-нибудь есть идеи о том, как это сделать, это было бы фантастически

В любом случае я пошел дальше и сгруппировал результаты также по названию, так что получаю сумму общего времени на работу в день

 SELECT 
    RUNDATE = CAST(runstart AS date), 
    NAME, 
    TOTALRUNTIME = CONVERT(varchar(50), DATEADD(ms, SUM(DATEDIFF(ms, '00:00:00.000', RUNTIME)), '00:00:00.000'), 108) 
FROM 
    "CADIS"."vwSolutionHistory" 
WHERE
    TIMESINCELASTENTRY IS NULL 
GROUP BY
    name, CAST(runstart AS date) 
ORDER BY
    2, 1
 

Что я хотел бы сделать в дополнение к этому, так это (1) получить общее время каждого раза в день (по приведенному выше запросу) (2) получить максимальное время, затрачиваемое на работу в день (3) Получить среднее время, затрачиваемое на работу в день (4) Получить минимальное время, затрачиваемое на работу в день

Однако я не уверен, как получить все эти 4 вещи в одном запросе.

Комментарии:

1. Учитывая, что время запуска и завершения многих заданий перекрывается… задумывались ли вы о том, что, возможно, задания выполняются параллельно?

2. Ввод образцов и ожидаемые результаты помогут