2022-01-14 13:18:05 +00:00
|
|
|
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;
|
|
|
|
|
2022-05-25 19:32:34 +00:00
|
|
|
-- { echoOn }
|
2022-01-14 13:18:05 +00:00
|
|
|
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;
|
|
|
|
|
2022-04-21 23:52:43 +00:00
|
|
|
SELECT fact_3_id
|
|
|
|
FROM grouping_sets
|
|
|
|
GROUP BY
|
|
|
|
GROUPING SETS ((fact_3_id, fact_4_id))
|
|
|
|
ORDER BY fact_3_id ASC;
|
|
|
|
|
2022-05-11 10:22:34 +00:00
|
|
|
-- 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;
|
|
|
|
|
2022-05-25 18:59:39 +00:00
|
|
|
SELECT fact_3_id, fact_4_id, count()
|
|
|
|
FROM grouping_sets
|
|
|
|
GROUP BY
|
|
|
|
GROUPING SETS (
|
|
|
|
( fact_3_id, fact_4_id))
|
|
|
|
ORDER BY fact_3_id, fact_4_id
|
|
|
|
SETTINGS optimize_aggregation_in_order=1;
|
|
|
|
|
|
|
|
SELECT fact_3_id, fact_4_id, count()
|
|
|
|
FROM grouping_sets
|
|
|
|
GROUP BY
|
|
|
|
GROUPING SETS (
|
|
|
|
fact_3_id,
|
|
|
|
fact_4_id)
|
|
|
|
ORDER BY fact_3_id, fact_4_id
|
|
|
|
SETTINGS optimize_aggregation_in_order=1;
|
|
|
|
|
|
|
|
SELECT fact_3_id, fact_4_id, count()
|
|
|
|
FROM grouping_sets
|
|
|
|
GROUP BY
|
|
|
|
GROUPING SETS (
|
|
|
|
( fact_3_id ),
|
|
|
|
( fact_3_id, fact_4_id))
|
|
|
|
ORDER BY fact_3_id, fact_4_id
|
|
|
|
SETTINGS optimize_aggregation_in_order=1;
|
|
|
|
|
2022-05-25 19:32:34 +00:00
|
|
|
-- { echoOff }
|
|
|
|
DROP TABLE IF EXISTS grouping_sets;
|