ClickHouse/tests/queries/0_stateless/02867_nullable_primary_key_final.sql
2023-11-15 22:27:05 +01:00

66 lines
1.2 KiB
SQL

DROP TABLE IF EXISTS t;
CREATE TABLE t
(
`d` Nullable(Date),
`f1` Nullable(String),
`f2` Nullable(String),
`c` Nullable(Int64)
)
ENGINE = ReplacingMergeTree
ORDER BY (f1, f2, d)
SETTINGS allow_nullable_key = 1;
INSERT INTO t SELECT
toDate('2023-09-10', 'UTC') AS d,
[number % 99999, NULL][number % 2] AS f1,
['x', NULL][number % 2] AS f2,
[number, NULL][number % 2] AS c
FROM numbers(100000);
SELECT
date_trunc('month', d),
SUM(c)
FROM t
FINAL
WHERE f2 = 'x'
GROUP BY 1;
DROP TABLE t;
CREATE TABLE t
(
`d` Nullable(Date),
`f1` Nullable(String),
`f2` Nullable(String),
`c` Nullable(Int64)
)
ENGINE = SummingMergeTree
ORDER BY (f1, f2, d)
SETTINGS allow_nullable_key = 1, index_granularity = 1;
INSERT INTO t SELECT
toDate('2023-09-10', 'UTC') AS d,
NULL AS f1,
['x', 'y', 'z'][number % 3] AS f2,
number AS c
FROM numbers(1000);
SELECT
date_trunc('month', d),
SUM(c)
FROM t
FINAL
WHERE f2 = 'x'
GROUP BY 1;
DROP TABLE t;
CREATE TABLE t (o Nullable(String), p Nullable(String)) ENGINE = ReplacingMergeTree ORDER BY (p, o) SETTINGS allow_nullable_key = 1, index_granularity = 2;
INSERT INTO t SELECT number, NULL FROM numbers(10);
SELECT count() FROM t FINAL;
DROP TABLE t;