T SQL в среднем каждые 4 строки, но чтение и пропуск заголовков - PullRequest
0 голосов
/ 02 мая 2020

У меня есть таблица SQL 2016 с идентификатором, идентификатором блока и значением (назовите это table1 - см. Левую сторону изображения ниже), импортированную из CSV. Первые две строки каждого блока имеют (1) StationName и (2) Date. Остальные строки имеют значения (4 в час в течение 24 часов, итого 96).

Моя цель состоит в том, чтобы запросить таблицу table1 для генерации одной строки для каждых 4 строк значений с указанием имени станции, даты, последовательной группы # (который сбрасывается в каждом блоке) и среднее значение каждого набора из 4 значений, начиная с первого значения после даты. Строки, которые я ищу для генерации, находятся справа.

Imported and unpivoted CSV, and expected output

Я поигрался с оконными функциями, чтобы выполнить 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

, но не смогли найти то, что я ищу. Есть ли способ справиться с этим с помощью одного запроса?

...