У меня есть база данных с сообщениями от нескольких устройств.Я строю алгоритм машинного обучения, и перед этим мне нужно вычислить некоторые средние значения из уже отправленных сообщений.
Я беру информацию из космической БД и хочу сохранить ее в таблице T-SQL.Я хочу взять текущее сообщение Температура + последние 4 сообщения и вычислить среднее значение и поместить его в отдельный столбец.Я видел много постов по этому поводу, но ни один из них не работает.
Это код, когда я пытаюсь добавить тестовое сообщение:
INSERT INTO PredictionMessages
(
[Temperature],
[Humidity],
[Created],
[DeviceId],
[temperatureAlert],
[averageTempLast5]
)
VALUES
(
22, 55, GETDATE(), 1, 'false',
(
SELECT TOP (5) AVG([Temperature])
FROM Messages WHERE DeviceId = 1
GROUP BY Created
ORDER BY [Created] DESC
)
)
GO
Я пыталсянесколько разных подходов с разными проблемами, но это лучшая попытка.Это дает мне ErrorMessage:
Подзапрос возвратил более 1 значения.Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.
Что я делаю неправильно или естьпроще?