mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 09:02:00 +00:00
48 lines
1.8 KiB
SQL
48 lines
1.8 KiB
SQL
DROP TABLE IF EXISTS moving_sum_num;
|
|
DROP TABLE IF EXISTS moving_sum_dec;
|
|
|
|
CREATE TABLE moving_sum_num (
|
|
k String,
|
|
dt DateTime,
|
|
v UInt64
|
|
)
|
|
ENGINE = MergeTree ORDER BY (k, dt);
|
|
|
|
INSERT INTO moving_sum_num
|
|
SELECT 'b' k, toDateTime('2001-02-03 00:00:00')+number as dt, number as v
|
|
FROM system.numbers
|
|
LIMIT 5
|
|
UNION ALL
|
|
SELECT 'a' k, toDateTime('2001-02-03 00:00:00')+number as dt, number as v
|
|
FROM system.numbers
|
|
LIMIT 5;
|
|
|
|
INSERT INTO moving_sum_num
|
|
SELECT 'b' k, toDateTime('2001-02-03 01:00:00')+number as dt, 5+number as v
|
|
FROM system.numbers
|
|
LIMIT 5;
|
|
|
|
SELECT * FROM moving_sum_num ORDER BY k,dt FORMAT TabSeparatedWithNames;
|
|
|
|
-- Result of function 'groupArrayMovingSum' depends on the order of merging
|
|
-- aggregate states which is implementation defined in external aggregation.
|
|
SET max_bytes_before_external_group_by = 0;
|
|
|
|
SELECT k, groupArrayMovingSum(v) FROM (SELECT * FROM moving_sum_num ORDER BY k, dt) GROUP BY k ORDER BY k FORMAT TabSeparatedWithNamesAndTypes;
|
|
SELECT k, groupArrayMovingSum(3)(v) FROM (SELECT * FROM moving_sum_num ORDER BY k, dt) GROUP BY k ORDER BY k FORMAT TabSeparatedWithNamesAndTypes;
|
|
|
|
SELECT k, groupArrayMovingAvg(v) FROM (SELECT * FROM moving_sum_num ORDER BY k, dt) GROUP BY k ORDER BY k FORMAT TabSeparatedWithNamesAndTypes;
|
|
SELECT k, groupArrayMovingAvg(3)(v) FROM (SELECT * FROM moving_sum_num ORDER BY k, dt) GROUP BY k ORDER BY k FORMAT TabSeparatedWithNamesAndTypes;
|
|
|
|
CREATE TABLE moving_sum_dec ENGINE = Memory AS
|
|
SELECT k, dt, toDecimal64(v, 2) as v
|
|
FROM moving_sum_num;
|
|
|
|
SELECT k, groupArrayMovingSum(v) FROM (SELECT * FROM moving_sum_num ORDER BY k, dt) GROUP BY k ORDER BY k FORMAT TabSeparatedWithNamesAndTypes;
|
|
SELECT k, groupArrayMovingSum(v) FROM (SELECT * FROM moving_sum_num ORDER BY k, dt) GROUP BY k ORDER BY k FORMAT TabSeparatedWithNamesAndTypes;
|
|
|
|
DROP TABLE moving_sum_dec;
|
|
DROP TABLE moving_sum_num;
|
|
|
|
|