我在一列中有以下数据。这些是时间值。我需要对蜂巢中的所有三行求和。简单地添加是行不通的。
Col1
1:22:23
0:20:55
1:12:00
查看代码中的注释:
with your_data as (--use your table instead of this
select stack (3,
'1:22:23',
'0:20:55',
'1:12:00'
) as col1
)
select --calculate hours, minutes, seconds and concatenate to get time in HH:mm:ss format
concat_ws(':',lpad(floor(sum_seconds/3600),2,'0'), --HH
lpad(floor(sum_seconds%3600/60),2,'0'), --mm
lpad(floor(sum_seconds%3600%60),2,'0') --ss
) as sum_time
from
(--sum seconds
select sum(col1[0]*3600+col1[1]*60+col1[2]) sum_seconds
from
(--split time parts
select split(col1,':') col1 from your_data
)s
)s;