怎么在oracle数据库中想统计一个用户下所有表的记录的总条数

怎么在oracle数据库中想统计一个用户下所有表的记录的总条数,第1张

如果是oracle9i版本,可以考虑如下两步实现:

(10g直接执行第二步就可以了)

统计一个用户下所有表的行数:

1exec

dbms_statsgather_schema_stats(owner=>'用户名');

2select

sum(num_rows)

from

user_tables;

统计全库所有表的行数:

1exec

dbms_statsgather_database_stats(estimate_percent=>'30');

2select

sum(num_rows)

from

dba_tables;

生产环境中需谨慎考虑收集新的统计信息后对应用产生的影响。

需要准备的工具:电脑,sql数据库。

1、首先新建一个test表,有id,name,second三个字段,其中name字段有重复数据。

2、输入“select name,max(second) from test group by name”语句,点击运行。

3、可以看到已经查询出按name分组后取出的second最大的一条记录。

4、以输入“select name,max(second) from test group by name order by max(second) desc”语句,按分组后second最大值进行降序。

5、如果想查询mysql分组后最小的一条记录,输入“select name,min(second) from test group by name”语句,点击运行即可。

select td报考课目 as 科目,td报名时间 as 时间,sum(isnull(报名人数,0)) as 报名人数,sum(isnull(交费人数,0)) as 交费人数

from(

select 报考课目,报名时间,count() as 报名人数,0 as 交费人数

from bmb

group by 报考课目,报名时间

union all

select 报考课目,交费时间,0 as 报名人数,count() as 交费人数

from bmb

group by 报考课目,交费时间

) tb right join (select

from(select distinct 报名时间

from bmb

union

select distinct 交费时间

from bmb) ta,

(select distinct 报考课目

from bmb) tc) td on tb报考课目 = td报考课目 and tb报名时间 = td报名时间

group by td报考课目,td报名时间

order by td报考课目,td报名时间

以上就是关于怎么在oracle数据库中想统计一个用户下所有表的记录的总条数全部的内容,包括:怎么在oracle数据库中想统计一个用户下所有表的记录的总条数、mysql 分组之后如何统计记录条数, gourp by 之后的 count、在SQL数据库中如何实现如下的统计功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9599151.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存