select d datum,count(*)cnt, sum(decode(h, 0,1))h00,sum(decode(h, 1,1))h01, sum(decode(h, 2,1))h02,sum(decode(h, 3,1))h03, sum(decode(h, 4,1))h04,sum(decode(h, 5,1))h05, sum(decode(h, 6,1))h06,sum(decode(h, 7,1))h07, sum(decode(h, 8,1))h08,sum(decode(h, 9,1))h09, sum(decode(h,10,1))h10,sum(decode(h,11,1))h11, sum(decode(h,12,1))h12,sum(decode(h,13,1))h13, sum(decode(h,14,1))h14,sum(decode(h,15,1))h15, sum(decode(h,16,1))h16,sum(decode(h,17,1))h17, sum(decode(h,18,1))h18,sum(decode(h,19,1))h19, sum(decode(h,20,1))h20,sum(decode(h,21,1))h21, sum(decode(h,22,1))h22,sum(decode(h,23,1))h23 from (select to_char(first_time,'yyyy-mm-dd, DY') d, to_char(first_time,'hh24') h from v$log_history) group by d order by 1 desc;