CREATE TABLE window_test(id Int64, value Int64, partition Int64, msg String) Engine=MergeTree ORDER BY id INSERT INTO window_test SELECT number, rand(1) % 500, number % 3000, randomPrintableASCII(2) FROM numbers(5000000) SELECT id, AVG(value) OVER (ORDER BY id ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS frame1, MAX(value) OVER (ORDER BY id ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS frame2, sipHash64(frame1), sipHash64(frame2) FROM window_test SELECT id AS key, sipHash64(sum(frame)) AS value FROM ( SELECT id, AVG(value) OVER (ORDER BY id ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS frame FROM window_test) GROUP BY key ORDER BY key, value SELECT id % 100000 AS key, sipHash64(sum(frame)) AS value FROM ( SELECT id, AVG(value) OVER (ORDER BY id ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS frame FROM window_test) GROUP BY key ORDER BY key, value WITH 'xxxxyyyyxxxxyyyyxxxxyyyyxxxxyyyy' AS cipherKey SELECT id, AVG(value) OVER (ORDER BY id ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS frame, toString(frame) AS str, encrypt('aes-256-ofb', str, cipherKey) AS enc, decrypt('aes-256-ofb', str, cipherKey) AS dec FROM window_test SELECT id, AVG(value) OVER (PARTITION by partition ORDER BY id ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS frame FROM window_test ORDER BY id SELECT DISTINCT AVG(value) OVER (PARTITION by partition ORDER BY id ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS frame FROM window_test ORDER BY frame DROP TABLE IF EXISTS window_test