聚合函数放里面我不太确定行不行(实在不行只能嵌套查了),不过这是能想到的比较简单的方法(而且截取那块可能也要有所调整,毕竟首位可能需要不能是0,可能要加上正则表达式的判断才行,最后的结果也需要截取,因为出来的结果有很多0)
select name,to_char(numtodsinterval(sum(substr( duration,1,2)*3600+substr( duration,4,2)*60+substr( duration,7,2)),second)) time_z from table group by name
第二个办法就是利用60的进位去加,那样的话,sum用的太多,而且还有sum嵌套,个人估计效率肯定慢的吓死人。