oracle 函数

详细学习请参考oracle数据库官方文档

Oracle 数据库文档

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

oracle中的greatest 函数和 least函数
在这里插入图片描述

数值函数

在这里插入图片描述
在这里插入图片描述

ORACLE分析函数(8)-WIDTH-BUCKET 会根据参数设置,返回当前记录所属的份数

在这里插入图片描述

WIDTH_BUCKET点击查看详情

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
CUME_DIST
下面的示例计算采购部门中每个员工的薪水百分比。例如,40%的文员的薪水低于或等于Himuro。
SELECT job_id, last_name, salary, CUME_DIST()
OVER (PARTITION BY job_id ORDER BY salary) AS cume_dist
FROM employees

ORDER BY job_id, last_name, salary, cume_dist;
在这里插入图片描述
FIRST
LAST
以下示例在示例表的每个部门中返回hr.employees佣金最低的员工的最低薪水和佣金最高的员工的最高薪水:
SELECT department_id,
MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct) “Worst”,
MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct) “Best”
FROM employees
GROUP BY department_id
ORDER BY department_id;
在这里插入图片描述
下一个示例进行与上一个示例相同的计算,但是返回部门内每个员工的结果:
SELECT last_name, department_id, salary,
MIN(salary) KEEP (DENSE_RANK FIRST ORDER BY commission_pct)
OVER (PARTITION BY department_id) “Worst”,
MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct)
OVER (PARTITION BY department_id) “Best”
FROM employees
在这里插入图片描述

GROUP_ID的用法

GROUPING_ID的用法

GROUP_ID
GROUPING_ID
Grouping
grou cude
Grou by grouping sets都是用来分组求统计的
select
DEPARTMENT_ID,job_id,
grouping(DEPARTMENT_ID) as div_grp,
grouping(job_id) as job_grp,
grouping_id(DEPARTMENT_ID,job_id) as grp_id,
sum(salary)
from employees
group by cube(DEPARTMENT_ID,job_id)
having grouping_id(DEPARTMENT_ID,job_id) > 0
order by DEPARTMENT_ID,job_id;
在这里插入图片描述

oracle中range/rows的区别

SELECT last_name, salary,
COUNT(*) OVER (ORDER BY salary RANGE BETWEEN 50 PRECEDING AND
150 FOLLOWING) AS mov_count
FROM employees
在这里插入图片描述
PERCENT_RANK
SELECT department_id, last_name, salary, PERCENT_RANK()
OVER (PARTITION BY department_id ORDER BY salary DESC) AS pr
FROM employees
在这里插入图片描述
在这里插入图片描述
LNNVL
得到与条件相反的结果 空值包含所有范围 要用is null 进行过滤
在这里插入图片描述
NTH_VALUE
SELECT DEPARTMENT_ID, MANAGER_ID, MIN(SALARY),
NTH_VALUE(MIN(SALARY), 1) OVER (PARTITION BY DEPARTMENT_ID ORDER BY MANAGER_ID
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) nv
FROM employees
GROUP BY DEPARTMENT_ID, MANAGER_ID
order by DEPARTMENT_ID
在这里插入图片描述
NTILE
SELECT last_name, salary, NTILE(7) OVER (ORDER BY salary DESC) AS quartile
FROM employees
在这里插入图片描述
PERCENT_RANK
在这里插入图片描述
PRESENTNNV
PRESENTV
在原有SQL的 每个月的销售额 的基础上,进一步追加 每个季度 与 全年的销售额。
介绍了根据日期进行操作的方法
在这里插入图片描述
在这里插入图片描述
TRANSLATE
在这里插入图片描述

oracle中CAST函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

time丶sand

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值