Col pool_name format a15 Col in_mb format 999,999 Col inuse_mb format 999,999 Break on snap_id skip 1 Select r.snap_id,cast(k.begin_interval_time as Date) snap_time,r.inst_id,r.pool_name, round(sum(r.in_mb)) In_Mb, round(sum(r.inuse_mb)) Inuse_Mb from (select snap_id, instance_number inst_id, case when name = 'buffer_cache' then 'db_cache_size' when name = 'log_buffer' then 'log_buffer' else pool end pool_name, bytes/1024/1024 in_mb, case when name <> 'free memory' then bytes/1024/1024 end inuse_mb from dba_hist_sgastat where instance_number = &inst_id and snap_id between &beg_snap and &end_snap ) r, dba_hist_snapshot k where r.snap_id = k.snap_id and r.inst_id = k.instance_number and r.pool_name is not null group by r.snap_id,cast(k.begin_interval_time as Date),r.inst_id,r.pool_name order by 1,2 asc, 5 desc /