FNAME H M
---------- ---------- ----------
李四/王五 3 59
张三/李四 5 2
SQL> with m as(
2 select regexp_substr(t.fname,'[^/]+',1,level) ffname,t.h,t.m
3 from test t
4 connect by level<=length(t.fname)-length(replace(t.fname,'/',''))+1
5 and prior rowid=rowid
6 and prior dbms_random.value is not null)
7 select m.ffname,sum(m.h)+floor(sum(m.m)/60),mod(sum(m.m),60) from m group by m.ffname;
FFNAME SUM(M.H)+FLOOR(SUM(M.M)/60) MOD(SUM(M.M),60)
-------------------- --------------------------- ----------------
王五 3 59
李四 9 1
张三 5 2