mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-10 08:22:00 +00:00
66 lines
1.2 KiB
SQL
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;
|