Есть ли способ выбрать поле на основе, скажем, мин / макс поля над окном?
Например, рассмотрим приведенный ниже пример; как найти значение TIMESTAMP_OF()
min
тикера над окном?
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
ticker_symbol VARCHAR(4),
ticker_min DOUBLE,
ticker_min_time TIMESTAMP,
ticker_max DOUBLE,
ticker_max_time TIMESTAMP,
event_time TIMESTAMP,
ticker_count DOUBLE);
CREATE OR REPLACE PUMP "STREAM_PUMP" AS
INSERT INTO "DESTINATION_SQL_STREAM"
SELECT STREAM
TICKER_SYMBOL,
MIN(TICKER_VAL) AS ticker_min,
MAX(TICKER_VAL) AS ticker_max,
TIMESTAMP_OF(MIN(TICKER_VAL)) AS ticker_min_time,
TIMESTAMP_OF(MAX(TICKER_VAL)) AS ticker_max_time,
FLOOR(EVENT_TIME TO MINUTE),
COUNT(TICKER_SYMBOL) AS ticker_count
FROM "SOURCE_SQL_STREAM_001"
WINDOWED BY STAGGER (
PARTITION BY FLOOR(EVENT_TIME TO MINUTE), TICKER_SYMBOL RANGE INTERVAL '1' MINUTE);