mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-18 05:32:52 +00:00
45 lines
1.2 KiB
SQL
45 lines
1.2 KiB
SQL
SELECT 'TTL WHERE';
|
|
DROP TABLE IF EXISTS ttl_where;
|
|
|
|
CREATE TABLE ttl_where
|
|
(
|
|
`d` Date,
|
|
`i` UInt32
|
|
)
|
|
ENGINE = MergeTree
|
|
ORDER BY tuple()
|
|
TTL d + toIntervalYear(10) DELETE WHERE i % 3 = 0,
|
|
d + toIntervalYear(40) DELETE WHERE i % 3 = 1;
|
|
|
|
-- This test will fail at 2040-10-10
|
|
|
|
INSERT INTO ttl_where SELECT toDate('2000-10-10'), number FROM numbers(10);
|
|
INSERT INTO ttl_where SELECT toDate('1970-10-10'), number FROM numbers(10);
|
|
OPTIMIZE TABLE ttl_where FINAL;
|
|
|
|
SELECT * FROM ttl_where ORDER BY d, i;
|
|
|
|
DROP TABLE ttl_where;
|
|
|
|
SELECT 'TTL GROUP BY';
|
|
DROP TABLE IF EXISTS ttl_group_by;
|
|
|
|
CREATE TABLE ttl_group_by
|
|
(
|
|
`d` Date,
|
|
`i` UInt32,
|
|
`v` UInt64
|
|
)
|
|
ENGINE = MergeTree
|
|
ORDER BY (toStartOfMonth(d), i % 10)
|
|
TTL d + toIntervalYear(10) GROUP BY toStartOfMonth(d), i % 10 SET d = any(toStartOfMonth(d)), i = any(i % 10), v = sum(v),
|
|
d + toIntervalYear(40) GROUP BY toStartOfMonth(d) SET d = any(toStartOfMonth(d)), v = sum(v);
|
|
|
|
INSERT INTO ttl_group_by SELECT toDate('2000-10-10'), number, number FROM numbers(100);
|
|
INSERT INTO ttl_group_by SELECT toDate('1970-10-10'), number, number FROM numbers(100);
|
|
OPTIMIZE TABLE ttl_group_by FINAL;
|
|
|
|
SELECT * FROM ttl_group_by ORDER BY d, i;
|
|
|
|
DROP TABLE ttl_group_by;
|