Можно ли выполнить усреднение после каждого фиксированного интервала и сгруппировать по одному столбцу в MSSQL?
Предположим, у меня есть таблица A в следующем виде:
NAME Interval Data1 Data2
1 0.01 1 4
1 0.05 4 2
1 0.09 7 6
1 0.11 1 2
1 0.15 7 6
1 0.18 3 1
1 0.19 2 5
2 0.209 9 0
Я хочу, чтобы выходные данные были сгруппированыпо имени и запустить в среднем каждые 10 отсчетов.Итак, для примера
Name - 1
Interval Start - 0
Interval End - 10
Data 1 Avg - 4 [(1 + 4 + 7) / 3]
Data 3 Avg - 4 [(4 + 2 + 6) / 3]
И
Name - 1
Interval Start - 10
Interval End - 20
Data 1 Avg - 3.25 [(1 + 7 + 3 + 2) / 4]
Data 3 Avg - 3.50 [(2 + 6 + 1 + 5) / 4]
Итак, я хочу выпускной, как показано ниже.Интервал для столбца «Имя» отличается.
Name Interval-Start Interval-End DataAvg1 DataAvg2
1 0 10 4 4
1 10 20 3.25 3.50
2 0 10 0 0
2 10 20 0 0
2 20 30 9 0
Я использовал приведенный ниже запрос, но не могу понять логику для интервала.
SELECT Name, Interval, AVG(Data1) AS Data1Avg, AVG(Data2) AS Data2Avg
FROM TableA
GROUP BY Name;
Может кто-нибудь, пожалуйста, помогите мне с этим.