我正在尝试在按另一列分组之后逐个元素地添加数组列元素。
有下表A:
id units
1 [1,1,1]
2 [3,0,0]
1 [5,3,7]
3 [2,5,2]
2 [3,2,6]
Run Code Online (Sandbox Code Playgroud)
我想查询如下内容:
select id, sum(units) from A group by id
Run Code Online (Sandbox Code Playgroud)
并得到以下结果:
id units
1 [6,4,8]
2 [6,2,6]
3 [2,5,2]
Run Code Online (Sandbox Code Playgroud)
具有相同 id 的行中的单位数组逐个元素添加。
试试这个查询:
SELECT id, sumForEach(units) units
FROM (
/* emulate dataset */
SELECT data.1 id, data.2 units
FROM (
SELECT arrayJoin([(1, [1,1,1]), (2, [3,0,0]), (1, [5,3,7]), (3, [2,5,2]), (2, [3,2,6])]) data))
GROUP BY id
/* Result
??id???units????
? 1 ? [6,4,8] ?
? 2 ? [6,2,6] ?
? 3 ? [2,5,2] ?
????????????????
*/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1696 次 |
| 最近记录: |