Как в запросе указать время на час больше
У меня есть запрос вычисляющий среднее значение за определенный час, каким образом можно сделать так чтобы время показывалось на час больше, но среднее значение оставалось тем же самым 2022.05.19 00:00 показывалось 2022.05.19 01:00 и так с каждым часом, но чтобы при этом среднее значение оставалось таким же
SELECT DATEADD(hh, DATEDIFF(hh, 0, DateMeasure), 0) as Дата,AVG(Fe_Ka) AS Среднее FROM Results1
WHERE DateMeasure between '20220514 00:00' and '20220515 00:00'
GROUP BY DATEADD(hh, DATEDIFF(hh, 0, DateMeasure), 0)
ORDER BY DATEADD(hh, DATEDIFF(hh, 0, DateMeasure), 0)
Ответы (1 шт):
Автор решения: Vitaliy Zlobin
→ Ссылка
Так точно получится:
;WITH CTE AS
(
SELECT DATEADD(hh, DATEDIFF(hh, 0, DateMeasure), 0) as Дата,
AVG(Fe_Ka) AS Среднее
FROM Results1
WHERE DateMeasure between '20220514 00:00' and '20220515 00:00'
GROUP BY DATEADD(hh, DATEDIFF(hh, 0, DateMeasure), 0)
)
SELECT [Дата]
,[Среднее]
,DATEADD(HOUR, 1, [Дата]) AS [Дата + час]
ORDER BY [Дата]
Так короче, но не уверен что отработает, надо пробовать(отпишись по результатам проверки):
SELECT DATEADD(hh, DATEDIFF(hh, 0, DateMeasure), 0) as Дата,
DATEADD(HOUR, 1, [Дата]) AS [Дата + час],
AVG(Fe_Ka) AS Среднее
FROM Results1
WHERE DateMeasure between '20220514 00:00' and '20220515 00:00'
GROUP BY DATEADD(hh, DATEDIFF(hh, 0, DateMeasure), 0), DATEADD(HOUR, 1, [Дата])
