Вы можете sh этого добиться, используя ПОПЛОСКОЕ
CREATE OR REPLACE TEMPORARY TABLE TestTable (
ID INTEGER
,ColLabel VARCHAR
,ColValues VARIANT
)
AS
SELECT $1
,$2
,PARSE_JSON($3)
FROM VALUES
(1, 'Jon', '[2,4,6]')
,(2, 'Susan', '[10]')
,(3, 'Sally', '[25,25,25,25]')
;
SELECT T.ID
,T.ColLabel
,SUM(F.VALUE::INTEGER) AS ColValues_Elem
FROM TestTable AS T
,LATERAL FLATTEN(T.ColValues) AS F
GROUP BY T.ID, T.ColLabel
;
Результаты:
ID COLLABEL COLVALUES_ELEM
1 Jon 12
2 Susan 10
3 Sally 100