Как рассчитать среднее значение первых строк каждого часа

У нас есть таблица со значениями, каждые пять минут в таблице появляется новая строка с числовым значением и временем, как рассчитать среднее значение за первые 45 минут каждого часа.

У меня есть запрос, который вычисляет среднее значение за каждый час

SELECT hh=CONVERT(CHAR(13),[DateMeasure],126),
[Fe_Ka]=AVG([Fe_ka]) FROM Results1 
GROUP BY CONVERT(CHAR(13),[DateMeasure],126) 
ORDER BY hh;

но я понятия не имею, как сделать выделение 45 минут в начале каждого часа

Исходная таблица

Желаемый формат

Исходная таблица включает три столбца: дата измерения (дата-время), идентификатор измерения (целое число), значение (число с плавающей запятой). Каждые пять минут добавляется новая строка. Нужна таблица со временем по часам и средним значением за первые 45 минут этого часа

Можете ли вы предоставить некоторые образцы данных и ожидаемые результаты в удобном формате, пожалуйста? Это очень поможет нам помочь вам.

Larnu 06.05.2022 10:19

@Larnu я предоставил скриншоты

xomul1 06.05.2022 10:23

без скриншота пожалуйста. Опубликовать как текст

Squirrel 06.05.2022 10:24
WHERE DATEPART(minute, DateMeasure) BETWEEN 0 AND 44 можно? Также лучший способ сократить до часа DATEADD(hour, DATEDIFF(hour, '20000101', DateMeasure), DateMeasure)
Charlieface 06.05.2022 10:24
Картинки не следует использовать для текстовых данных. Поскольку SQL включает определение данных, минимальный воспроизводимый пример для SQL-вопрос должен включать операторы DDL для выборочных таблиц (а не спецификацию специальной таблицы) и операторы ДМЛ для выборочных данных (а не дамп или специальный формат). Желаемые результаты не обязательно представлять в виде примера кода, так как результаты являются результатом работы кода, а не самим кодом.
outis 06.05.2022 10:30

… См. центр помощи для получения дополнительной информации о как задавать хорошие вопросы и многих других полезных темах.

outis 06.05.2022 10:30

@Белка, я делаю это!

xomul1 06.05.2022 10:38
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
7
25
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте DATEPART(), чтобы получить выражение минуты и CASE и проверить, находится ли время в пределах ЧЧ: 45 минут.

select  TheDate = convert(date, DateMeasure), 
        TheHour = datepart(hour, DateMeasure),
        TheAvg  = avg(case when datepart(minute, DateMeasure) <= 45 then TheVal end)
from    TheTable
group by convert(date, DateMeasure), datepart(hour, DateMeasure)

Другие вопросы по теме