select t.idate, t.t_num1, t1.t_num2
from (select to_char(idate, 'yyyy/mm/dd hh') || '点' as idate,
sum(t_num1) as t_num1
from a
group by to_char(idate, 'yyyy/mm/dd hh') || '点') t
left join (select to_char(idate, 'yyyy/mm/dd hh') || '点' as idate,
sum(t_num2) as t_num2
from a
group by to_char(idate, 'yyyy/mm/dd hh') || '点') t1
on a.idate = b.idate order by idate;
给你个例子,照你的情况改下表名和字段名应该就行了。