mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-19 06:01:57 +00:00
99 lines
2.4 KiB
SQL
99 lines
2.4 KiB
SQL
DROP TABLE IF EXISTS grouping_sets;
|
|
|
|
CREATE TABLE grouping_sets(fact_1_id Int32, fact_2_id Int32, fact_3_id Int32, fact_4_id Int32, sales_value Int32) ENGINE = Memory;
|
|
|
|
INSERT INTO grouping_sets
|
|
SELECT
|
|
number % 2 + 1 AS fact_1_id,
|
|
number % 5 + 1 AS fact_2_id,
|
|
number % 10 + 1 AS fact_3_id,
|
|
number % 10 + 1 AS fact_4_id,
|
|
number % 100 AS sales_value
|
|
FROM system.numbers limit 1000;
|
|
|
|
SELECT
|
|
fact_3_id,
|
|
fact_4_id
|
|
FROM grouping_sets
|
|
GROUP BY
|
|
GROUPING SETS (
|
|
('wo\0ldworldwo\0ldworld'),
|
|
(fact_3_id, fact_4_id))
|
|
ORDER BY
|
|
fact_3_id, fact_4_id;
|
|
|
|
SELECT 'SECOND QUERY:';
|
|
|
|
SELECT
|
|
fact_3_id,
|
|
fact_4_id
|
|
FROM grouping_sets
|
|
GROUP BY
|
|
GROUPING SETS (
|
|
(fact_1_id, fact_2_id),
|
|
((-9223372036854775808, NULL, (tuple(1.), (tuple(1.), 1048576), 65535))),
|
|
((tuple(3.4028234663852886e38), (tuple(1024), -2147483647), NULL)),
|
|
(fact_3_id, fact_4_id))
|
|
ORDER BY
|
|
(NULL, ('256', (tuple(NULL), NULL), NULL, NULL), NULL) ASC,
|
|
fact_1_id DESC NULLS FIRST,
|
|
fact_2_id DESC NULLS FIRST,
|
|
fact_4_id ASC;
|
|
|
|
SELECT 'THIRD QUERY:';
|
|
|
|
SELECT
|
|
extractAllGroups(NULL, 'worldworldworldwo\0ldworldworldworldwo\0ld'),
|
|
fact_2_id,
|
|
fact_3_id,
|
|
fact_4_id
|
|
FROM grouping_sets
|
|
GROUP BY
|
|
GROUPING SETS (
|
|
(sales_value),
|
|
(fact_1_id, fact_2_id),
|
|
('wo\0ldworldwo\0ldworld'),
|
|
(fact_3_id, fact_4_id))
|
|
ORDER BY
|
|
fact_1_id DESC NULLS LAST,
|
|
fact_1_id DESC NULLS FIRST,
|
|
fact_2_id ASC,
|
|
fact_3_id DESC NULLS FIRST,
|
|
fact_4_id ASC;
|
|
|
|
SELECT fact_3_id
|
|
FROM grouping_sets
|
|
GROUP BY
|
|
GROUPING SETS ((fact_3_id, fact_4_id))
|
|
ORDER BY fact_3_id ASC;
|
|
|
|
-- Following two queries were fuzzed
|
|
SELECT 'w\0\0ldworldwo\0l\0world'
|
|
FROM grouping_sets
|
|
GROUP BY
|
|
GROUPING SETS (
|
|
( fact_4_id),
|
|
( NULL),
|
|
( fact_3_id, fact_4_id))
|
|
ORDER BY
|
|
NULL ASC,
|
|
NULL DESC NULLS FIRST,
|
|
fact_3_id ASC,
|
|
fact_3_id ASC NULLS LAST,
|
|
'wo\0ldworldwo\0ldworld' ASC NULLS LAST,
|
|
'w\0\0ldworldwo\0l\0world' DESC NULLS FIRST,
|
|
'wo\0ldworldwo\0ldworld' ASC,
|
|
NULL ASC NULLS FIRST,
|
|
fact_4_id DESC NULLS LAST;
|
|
|
|
SELECT fact_3_id
|
|
FROM grouping_sets
|
|
GROUP BY
|
|
GROUPING SETS (
|
|
( 'wo\0ldworldwo\0ldworldwo\0ldworldwo\0ldworldwo\0ldworldwo\0ldworldwo\0ldworldwo\0ldworld'),
|
|
( NULL),
|
|
( fact_4_id),
|
|
( fact_3_id, fact_4_id))
|
|
ORDER BY fact_3_id ASC NULLS FIRST;
|
|
|
|
DROP TABLE IF EXISTS grouping_sets; |