Я пытаюсь заменить нулевые значения на последние 10 секунд. Среднее значение в аналитике потока. для этого требуется самосоединение между потоком и средними значениями, которые я вычисляю в предложении With. Это дает мне дубликаты (я получаю одну и ту же запись дважды или трижды)? Любые предложения о том, что неправильно или как это сделать правильно? Мой запрос:Практическое руководство.
WITH MV AS (Select AVG([Sensor_1]) AS [Sensor_1] From [input] GROUP BY SlidingWindow(second, 10))
SELECT [input].[ID]
,[input].[Timestamp]
,[input].[Result]
,CASE
WHEN [input].[Sensor_1] = 0
THEN [MV].[Sensor_1] ELSE [input].[Sensor_1]
END [Sensor_1]
,[input].[Sensor_2]
,[input].[Sensor_3]
FROM [input]
LEFT OUTER JOIN [MV]
ON DateDiff(second, [input], [MV]) BETWEEN 0 AND 10