Eu tenho um procedimento armazenado que calcula a duração média de um ciclo de solicitação/resposta em intervalos de 10 minutos. Isso funciona bem e atende às minhas necessidades de plotagem de gráficos. O que eu gostaria de fazer a seguir é calcular o valor mediano ... Suspeito que precisaria de uma subconsulta, mas não consigo descobrir como fazer isso.
SELECT dateadd(minute, 10 + (datediff(minute, 0, [Started]) / 10) * 10, 0) AS [Time]
,AVG(CASE WHEN Duration is null OR Duration = 0
THEN null ELSE Duration
END) AS [Mean Response Time]
FROM [Application].[Exchange] WITH (NOLOCK)
WHERE [Started] >= '24 Oct 2012' AND [Started] < '25 Oct 2012'
GROUP BY dateadd(minute, 10 + (datediff(minute, 0, [Started]) / 10) * 10, 0)
ORDER BY dateadd(minute, 10 + (datediff(minute, 0, [Started]) / 10) * 10, 0)
Alguém pode sugerir uma maneira que eu possa fazer isso?
1 respostas