From 7973302a9be4278bb1796bcf11c7d42efece1847 Mon Sep 17 00:00:00 2001 From: Denny Crane Date: Mon, 29 Apr 2024 15:50:03 -0300 Subject: [PATCH] add tests for #47217, #55965 --- .../03142_window_function_limit_by.reference | 3 ++ .../03142_window_function_limit_by.sql | 41 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 tests/queries/0_stateless/03142_window_function_limit_by.reference create mode 100644 tests/queries/0_stateless/03142_window_function_limit_by.sql diff --git a/tests/queries/0_stateless/03142_window_function_limit_by.reference b/tests/queries/0_stateless/03142_window_function_limit_by.reference new file mode 100644 index 00000000000..0acdfb509fe --- /dev/null +++ b/tests/queries/0_stateless/03142_window_function_limit_by.reference @@ -0,0 +1,3 @@ +a 0.5 4 +a 1 +b 1 diff --git a/tests/queries/0_stateless/03142_window_function_limit_by.sql b/tests/queries/0_stateless/03142_window_function_limit_by.sql new file mode 100644 index 00000000000..44dd890db41 --- /dev/null +++ b/tests/queries/0_stateless/03142_window_function_limit_by.sql @@ -0,0 +1,41 @@ +SET allow_experimental_analyzer = 1; + + +-- https://github.com/ClickHouse/ClickHouse/issues/55965 + +CREATE TABLE error_win_func +( + `k` String, + `in` UInt64, + `out` UInt64 +) +ENGINE = MergeTree +ORDER BY k AS +SELECT * from VALUES (('a', 2, 4), ('a', 4, 2), ('a', 6, 3), ('a', 8, 4)); + +SELECT + k, + in / out AS ratio, + count(*) OVER w AS count_rows_w +FROM error_win_func +WINDOW + w AS (ROWS BETWEEN CURRENT ROW AND 3 FOLLOWING) +LIMIT 1 BY + k; + +DROP TABLE error_win_func; + +-- https://github.com/ClickHouse/ClickHouse/issues/47217 + +CREATE TABLE t(n String, st String) ENGINE = Memory as +select * from values(('a', 'x'), ('b', 'y'), ('c', 'z')); + +SELECT + n as m, + count() OVER (PARTITION BY m) cnt +FROM t +WHERE st IN ('x', 'y') +LIMIT 1 BY m; + +DROP TABLE t; +