oracle比例字段什么意思,Oracle之分组合计、百分比详解

日常工作中,我们常常需要开发报表或者统计一些数据的百分比、合计,这时候,下面的几个函数可以很快地解决问题 。它们不仅sql语句少,而且性能更好。下图即为我们这次要统计的结果展示。

989d899626c5e69823fed1b5cf8ebc9a.png

常用的函数如下:case when...then...else...end,  regexp_like,  ratio_to_report(score) OVER(),  rollup,  grouping,本文只是展示在sql中如何用这些函数巧妙地统计出这种效果,具体用法可自查阅资料了解更多细节。

首先,需要你统计的东西,类似这样子:

6a89b2c398871a93168f2a8a586c21b8.png

本人的表由于数据需要转换,所以需要使用下面的sql语句进行处理。如有不同,请跳过这一段。

SELECT region, SUM(CASE region

WHEN 'Africa' THEN 1

WHEN 'Asia' THEN 1

WHEN 'Europe' THEN 1

WHEN 'NorthAmerica' THEN 1

WHEN 'Oceania' THEN 1

WHEN 'SouthAmerica' THEN 1

WHEN 'unkonwn' THEN 1

ELSE 0

END) AS score

FROM (

SELECT CASE

WHEN regexp_like(substr(TRANSDAY, 0, 1), '[A-C]') THEN 'Africa'

WHEN regexp_like(substr(TRANSDAY, 0, 1), '[J-R]') THEN 'Asia'

WHEN regexp_like(substr(TRANSDAY, 0, 1), '

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值