условие предотвращает ложные срабатывания. (2) 2 части UNION ALL представляют 2 сдвинутые шкалы. Смотрите обновленный ответ
ужен запрос на улей, который мне сложно понять.
У меня есть временной ряд, который выглядит так:
time source word1 word2 ...etc
2012-02-01 23:43:16.9988243 0001 2B3B FAF0
2012-02-01 23:43:16.9993561 0002 2326 ABAA
2012-02-01 23:43:16.9998879 0002 2327 ABAA
Мне нужен запрос такой, что если запись в одномsource
выполняет определенные условия, в дополнение к этой записи, он также должен возвратить одну или несколько записейв непосредственной близости во времени со второгоsource
выполнение другого набора условий.
Моя попытка пока выглядит так:
SELECT time
FROM messages C
JOIN messages D on
D.time
BETWEEN C.time - INTERVAL '0.001' SECOND
AND C.time + INTERVAL '0.001' SECOND
WHERE C.source = '0001'
AND D.Source = '0002'
AND C.word1 = '2B3B'
AND D.word2 = 'ABAA'
Который должен возвращать первую и вторую записи в приведенных выше примерах данных (третий не должен возвращать, потому что время больше, чем 0,001 секунды).
Но запрос не работает. Сообщение об ошибке
FAILED: SemanticException '0.001' encountered with 0 children