Я делаю несколько вычислений в нескольких Windows. Каждое окно - это окно скачкообразного изменения, которое выводится каждую секунду (конечно, с разной продолжительностью окна).
Тогда у меня есть только один выходной запрос, который объединяет мои 5 окон с DATEDIFF(second, a, b) BETWEEN 0 AND 1
для каждого соединенного окна.
Проблема в том, что этот запрос генерирует намного больше строк, чем ввод, но он должен генерировать такое же количество. (8 строк из ввода, 4002 строки из запроса)
Я не могу найти в документе ничего, что говорит об этом поведении.
ОБНОВЛЕНИЕ 1:
Я обнаружил, что с уменьшением диапазона JOIN DATEDIFF у меня меньше событий.
При использовании диапазона 0-50 мс во всех моих запросах у меня есть 17 событий, но при сравнении их с 8 входными событиями они содержат дубликаты некоторых событий и не включают все события, поэтому данные не являются полными.
Мои шаги запроса такие:
Window_N -> Stats_Window_N (SELECT FROM Window_N JOIN Window_N)
-> All_Stats (SELECT FROM Window_N JOIN All Other Windows)
Все используют один и тот же диапазон DATEDIFF.