oracle比例字段什么意思,oracle分析函数ratio_to_report:计算百分比

传统上,Oracle计算百分比的方法是在总计报告的子查询中使用SUM函数总计报告,然后把那个结果放到细节表中相除来计算百分比。你还可以用一个子查询作为SELECT语句表达式:

RATIO_TO_REPORT解析函数使得这种类型的查询更容易编码。Oracle 8i中引入了这个函数,它的格式如下:

RATIO_TO_REPORT (expr) OVER (query_partition_clause)

列表A说明一个简单的例子。对163号销售代表来说,每位客户的销售额占这名销售代表的总销售额的百分比是多少呢?在这种情况下,查询分区子句(partition

clause)为空,因此得到的结果是对返回的所有行计算得出。

列表B增加了一个查询分区子句,进一步按客户细分报告。PARTITION BY

customer_id子句重新安排每位客户的总数,进而说明每名客户的哪次订单最为关键。你可以查看客户102的情况,他的两个订单相对平衡;

但客户103的一个订单占这名客户总订单额的很大一部分。

SELECT

sales_rep_id,

customer_id,

order_total,

ratio_to_report(order_total) OVER ()

pct_total

FROM   orders

WHERE   sales_rep_id =

163ORDER BY   sales_rep_id,

customer_id, order_id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值