У меня есть таблица SQL 2016 с идентификатором, идентификатором блока и значением (назовите это table1 - см. Левую сторону изображения ниже), импортированную из CSV. Первые две строки каждого блока имеют (1) StationName и (2) Date. Остальные строки имеют значения (4 в час в течение 24 часов, итого 96).
Моя цель состоит в том, чтобы запросить таблицу table1 для генерации одной строки для каждых 4 строк значений с указанием имени станции, даты, последовательной группы # (который сбрасывается в каждом блоке) и среднее значение каждого набора из 4 значений, начиная с первого значения после даты. Строки, которые я ищу для генерации, находятся справа.
Я поигрался с оконными функциями, чтобы выполнить sh это, такие как
select avg_value
from (select avg(CONVERT(float,value)) over(order by id rows between current row and 3 following) as avg_value
from t
) x
, но не смогли найти то, что я ищу. Есть ли способ справиться с этим с помощью одного запроса?