Нужна помощь3 месяца скользящее среднее за 3 колонки
входного
Date A B C
2015-10-31 1.49 3.7 7.8
2015-11-30 1.45 3.6 7.6
2015-12-31 1.41 3.7 8.0
2016-01-31 1.33 3.7 8.3
2016-02-29 1.29 4.1 8.6
2016-03-31 1.46 4.4 9.7
CREATE TABLE dbo.ThreeMonth (RDate ДАТА, поплавком, б FLOAT, C FLOAT)
ВСТАВКУ в DBO. threemonth (RDate, а, б, в) ЗНАЧЕНИЯ ('2015-10-31', 1.49, 3.7,7.8) вставить в dbo.threemonth (RDate, a, b, c) VALUES («2015- 11-30 ', 1,45, 3,6, 7,6)
ВСТАВИТЬ в dbo.threemonth (RDate, а, б, в) ЗНАЧЕНИЯ ('2015-12-31', 1.41, 3.7,8.0)
ВСТАВИТЬ в dbo.threemonth (RDate, A , b, c) значения ('2016-01-31', 1.33, 3.7,8.3)
вставить в dbo.threemonth (RDate, а, б, в) ЗНАЧЕНИЯ («2016-02-29 , 1,9, 4,1,8,6)
ВСТАВИТЬ в dbo.threemonth (RDate, a, b, c) ЗНАЧЕНИЯ ('2016-03-31', 1.46, 4.4,9.7)
ВСТАВИТЬ в dbo.threemonth (RDate, а, б, в) ЗНАЧЕНИЯ ('2016-04-30', 1,35, 4,3 , 9.4)
SELECT * FROM threemonth
--Tried следующего запроса
выберите rdate, ср (А)
НАД ( ORDER BY rdate ЧСТРОК между 2 предшествующим и текущей строкой ) ОТ threemonth
Выходной
мне нужно отобразить прокатки 3 месяца среднем за 3 колонки а, Ь, с .Когда я ADD AVG (б) и AVG (с) он дает ошибку
«Столбец« threemonth.RDate »недопустим в списке выбора, потому что он не содержится ни в агрегатной функции, ни в предложении GROUP BY».
--Also Я хочу выход в следующем формате
2015-10-31 NULL -- Because 3 months are not available avg cannot be calculated
2015-11-30 NULL -- Because 3 months are not available avg cannot be calculated
2015-12-31 1.45
2016-01-31 1.39666666666667
2016-02-29 1.54666666666667
2016-03-31 1.56333333333333
2016-04-30 1.57 code here
Может кто-нибудь посоветовать, чтобы решить вышеуказанную проблему, когда мне нужно ПРИНЯТЬ AVG более чем за 1 КОЛОНКА И дисплей выводится в формате я показал выше ДЛЯ ВСЕХ 3 КОЛОНКИ?
Спасибо. Можете ли вы помочь, если я хочу добавить avg для столбца b и столбца c. – user1143726
Обновлен мой ответ, чтобы включить Col B и A –