把兩個group by的統計資料聯合在一起

mengzhaoliang發表於2008-07-18

* 2008/07/18 星期五
*蒙昭良
*環境:AIX5.3 + Oracle10gR2
*把兩個group by的統計資料聯合在一起
*/
   

要求在一個資料庫表中需要統計資料資訊,把該表中的每個table_name個數統計出來,再把該表中每個table_name的欄位sync_flag='0'統計出來


解決方法:
select t.table_name,t.sum,f.flag0
from
(select a.table_name,count(*) as sum  from  oms_sys_xptask_comm a
group by a.table_name order by sum desc) t,
(select a.table_name,count(*) as flag0 from  oms_sys_xptask_comm a
where  a.sync_flag='0'
group by a.table_name order by flag0 desc) f
where t.table_name=f.table_name(+)


註釋:上述語句非常耗費記憶體,在資料庫閒時執行!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-404417/,如需轉載,請註明出處,否則將追究法律責任。

相關文章