* 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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12778571/viewspace-404417/
本文介绍了一种在AIX5.3环境下使用Oracle10gR2进行数据库表统计的方法,通过联接两个GROUP BY查询来获取table_name的总数及其中sync_flag为'0'的记录数。

1万+

被折叠的 条评论
为什么被折叠?



