продажи за каждый месяц, и хочется для каждого месяца видеть накопленную сумму за прошлые месяца?
можно с использованием arrayCumSum CREATE TABLE test_cumsum (pk Integer, pk2 Integer, value Integer) ENGINE MergeTree() ORDER BY (pk); insert into test_cumsum values (0,1), (1,1), (2,2), (3,1); select * from test_cumsum order by pk2; SELECT * FROM test_cumsum ORDER BY pk2 ASC ┌─pk─┬─pk2─┬─value─┐ │ 3 │ 1 │ 1 │ │ 2 │ 2 │ 2 │ │ 1 │ 3 │ 1 │ │ 0 │ 4 │ 1 │ └────┴─────┴───────┘ 4 rows in set. Elapsed: 0.002 sec. select arrayCumSum(groupArray(value)) from (select pk, value from test_cumsum order by pk); ┌─arrayCumSum(groupArray(value))─┐ │ [1,2,4,5] │ └────────────────────────────────┘ select arrayCumSum(groupArray(value)) from (select pk2, value from test_cumsum order by pk2); ┌─arrayCumSum(groupArray(value))─┐ │ [1,3,4,5] │ └────────────────────────────────┘
Обсуждают сегодня