我有下表:
user_id, items_x, items_y
1, [0, 1, 3, 0], [1, 0, 0, 1]
2, [1, 1, 1, 0], [1, 0, 0, 2]
3, [2, 1, 0, 0], [0, 0, 4, 0]
我想得到以下结果,对数组中的元素求和:
user_id, items_x, items_y
1, 4, 2
2, 3, 3
3, 3, 4
应该可以对每个列分别使用“爆炸”和聚合,但是当我有6个列要做时,该解决方案就非常复杂。
是否有更简单的方法来做到这一点?
谢谢!
答案 0 :(得分:1)
由于数组长度是事先已知的,所以最简单的方法是通过索引获取元素并添加。
select user_id,items_x[0]+items_x[1]+items_x[2]+items_x[3],items_y[0]+items_y[1]+items_y[2]+items_y[3]
from tbl