重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5232|回复: 1
打印 上一主题 下一主题

[认证考试] 占比函数ratio_to_report的使用

[复制链接]
跳转到指定楼层
楼主
发表于 2020-3-17 00:39:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们有时想看人员表每个人收入在整个收入中占多大比例,我们这里以EMPLOYEES为例,为了好看,我们选择20部门来举例:

SQL>  select last_name ,salary from employees where department_id=20;
LAST_NAME                     SALARY
------------------------- ----------
Hartstein                      13000
Fay                             6000

查看每个人的薪水在总的薪水中占多大比例,我们一般使用子查询来完成:
SQL>  select last_name,salary,round(
  2                                  100* (
  3                                         salary/(select sum(salary) from employees where department_id=20)
  4                                       )
  5                                ) as pct_sal
  6     from employees where department_id=20;
LAST_NAME                     SALARY    PCT_SAL
------------------------- ---------- ----------
Hartstein                      13000         68
Fay                             6000         32

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2020-3-17 00:58:43 | 只看该作者
用在提取使用最占用资源的SQL语句;
SQL> select * from
  2  (
  3  select  address,rank() over (order by buffer_gets desc) as rank_bufgets,
  4    to_char(100*ratio_to_report(buffer_gets)  over (),'999.99') pct_bufgets
  5   from v$sql )
  6  where rank_bufgets<11;
ADDRESS          RANK_BUFGETS PCT_BUF
---------------- ------------ -------
0000000085AFD8C0            1   11.29
0000000085096388            2    6.70
000000006253BBC0            3    6.49
0000000085AF8E08            4    6.48
00000000851D38A0            5    5.25
0000000084E71E40            6    5.15
0000000085ADF348            7    4.41
0000000085B2B760            8    3.32
0000000085B25238            9    2.87
0000000085B3C020           10    2.82

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-30 11:03 , Processed in 0.128852 second(s), 22 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表