DC
Size: a a a
DC
IR
AI
SELECT groupArray((price, name)) as data,
arrayFilter(x -> x.2 = 'a', data) as data_a,
arrayMap(x -> groupArrayMovingSum(30)(x.1), data_a) as res
-- ^^^ Unknown identifier: x
FROM (SELECT arrayJoin([(3, 'a'), (5, 'a'), (3, 'b'), (3, 'b')]) as col, col.1 as price, col.2 as name)
VB
DC
SELECT groupArray((price, name)) as data,
arrayFilter(x -> x.2 = 'a', data) as data_a,
arrayMap(x -> groupArrayMovingSum(30)(x.1), data_a) as res
-- ^^^ Unknown identifier: x
FROM (SELECT arrayJoin([(3, 'a'), (5, 'a'), (3, 'b'), (3, 'b')]) as col, col.1 as price, col.2 as name)
groupArrayMovingSum
применяется к колонке, она сама делает groupArray
AI
groupArrayMovingSum
применяется к колонке, она сама делает groupArray
DT
DC
SELECT
name,
groupArrayMovingSum(30)(price)
FROM
(
SELECT
arrayJoin([(3, 'a'), (5, 'a'), (3, 'b'), (3, 'b')]) AS col,
col.1 AS price,
col.2 AS name
)
GROUP BY name
┌─name─┬─groupArrayMovingSum(30)(price)─┐
│ b │ [3,6] │
│ a │ [3,8] │
└──────┴────────────────────────────────┘
D
AI
SELECT
name,
groupArrayMovingSum(30)(price)
FROM
(
SELECT
arrayJoin([(3, 'a'), (5, 'a'), (3, 'b'), (3, 'b')]) AS col,
col.1 AS price,
col.2 AS name
)
GROUP BY name
┌─name─┬─groupArrayMovingSum(30)(price)─┐
│ b │ [3,6] │
│ a │ [3,8] │
└──────┴────────────────────────────────┘
DC
groupArrayMovingSum
делает groupArray
а потом сразу считает MovingSum
, почему не работает с массивом? - так автор захотел, он так видитDC
select empid, deptid, salary, salaries[1] salary_max_over_dep, rank
from (
SELECT deptid, groupArray(empid) AS empids, groupArray(salary) AS salaries
FROM (SELECT * FROM employee ORDER BY deptid ASC, salary DESC)
group by deptid )
array Join empids as empid, salaries as salary, arrayEnumerateDense(salaries) as rank
order by deptid, rank
┌─empid─┬─deptid─┬───salary─┬─salary_max_over_dep─┬─rank─┐
│ 1 │ 10 │ 5500000 │ 5500000 │ 1 │
│ 2 │ 10 │ 4500000 │ 5500000 │ 2 │
│ 4 │ 20 │ 4800000 │ 4800000 │ 1 │
│ 3 │ 20 │ 1900000 │ 4800000 │ 2 │
│ 7 │ 40 │ 44500000 │ 44500000 │ 1 │
│ 6 │ 40 │ 14500000 │ 44500000 │ 2 │
│ 5 │ 40 │ 6500000 │ 44500000 │ 3 │
│ 9 │ 50 │ 7500000 │ 7500000 │ 1 │
│ 8 │ 50 │ 6500000 │ 7500000 │ 2 │
└───────┴────────┴──────────┴─────────────────────┴──────┘
DC
D
DT
D
DC
D
DT
DC