mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-18 13:42:02 +00:00
34 lines
1.5 KiB
SQL
34 lines
1.5 KiB
SQL
DROP TABLE IF EXISTS agg_table;
|
|
|
|
CREATE TABLE IF NOT EXISTS agg_table
|
|
(
|
|
time DateTime CODEC(DoubleDelta, LZ4),
|
|
xxx String,
|
|
two_values Tuple(Array(UInt16), UInt32),
|
|
agg_simple SimpleAggregateFunction(sum, UInt64),
|
|
agg SimpleAggregateFunction(sumMap, Tuple(Array(Int16), Array(UInt64)))
|
|
)
|
|
ENGINE = AggregatingMergeTree()
|
|
ORDER BY (xxx, time);
|
|
|
|
INSERT INTO agg_table SELECT toDateTime('2020-10-01 19:20:30'), 'hello', ([any(number)], sum(number)), sum(number),
|
|
sumMap((arrayMap(i -> toString(i), range(13)), arrayMap(i -> (number + i), range(13)))) FROM numbers(10);
|
|
|
|
SELECT * FROM agg_table;
|
|
|
|
SELECT if(xxx = 'x', ([2], 3), ([3], 4)) FROM agg_table;
|
|
|
|
SELECT if(xxx = 'x', ([2], 3), ([3], 4, 'q', 'w', 7)) FROM agg_table; --{ serverError 386 }
|
|
|
|
ALTER TABLE agg_table UPDATE two_values = (two_values.1, two_values.2) WHERE time BETWEEN toDateTime('2020-08-01 00:00:00') AND toDateTime('2020-12-01 00:00:00') SETTINGS mutations_sync = 2;
|
|
|
|
ALTER TABLE agg_table UPDATE agg_simple = 5 WHERE time BETWEEN toDateTime('2020-08-01 00:00:00') AND toDateTime('2020-12-01 00:00:00') SETTINGS mutations_sync = 2;
|
|
|
|
ALTER TABLE agg_table UPDATE agg = (agg.1, agg.2) WHERE time BETWEEN toDateTime('2020-08-01 00:00:00') AND toDateTime('2020-12-01 00:00:00') SETTINGS mutations_sync = 2;
|
|
|
|
ALTER TABLE agg_table UPDATE agg = (agg.1, arrayMap(x -> toUInt64(x / 2), agg.2)) WHERE time BETWEEN toDateTime('2020-08-01 00:00:00') AND toDateTime('2020-12-01 00:00:00') SETTINGS mutations_sync = 2;
|
|
|
|
SELECT * FROM agg_table;
|
|
|
|
DROP TABLE IF EXISTS agg_table;
|