oracle数据库函数之============‘’分析函数和聚合函数‘’

1分析函数

分析函数根据一组行来进行聚合计算,用于计算完成狙击的累积排名等,分析函数为每组记录返回多个行

rank_number()

查询结果按照次序排列,不存在并列和站位的情况,可以用于做Oracle的分页

例如:SELECT tname,sal,row_number() OVER(ORDER BY sal DESC) 降序 FROM teacher; 

查询结果如图:

rank()

排序结果如有并列成绩,则并列成绩就会占取下一顺序的位置,下一个成绩则会跳过下一序号排列

例如:SELECT tname,sal,RANK() OVER(PARTITION BY deptno ORDER BY sal) 降序 FROM teacher;

dense_rank()

 查询的排序结果如果有相同成绩,则相同的成绩名次并列但不占下一个名次的位置,查询的结果还是顺序的

例如:SELECT tname,sal,dense_rank() OVER(PARTITION BY deptno ORDER BY sal DESC) 降序 FROM teacher;

 2.聚合函数

聚合函数是基于一组数据来返回结果,返回的结果只有一个值

常用聚合函数有avg()  max()  sum()  min()  count(0);

--老师工资平均数

SELECT AVG(sal) FROM teacher;

--老师工资总数
SELECT SUM(sal) FROM teacher;

 

--老师总数
SELECT COUNT(0) FROM teacher;

注:面对大量数据时count(0)的处理效率要明显高于count(*)

--老师工资最大值
SELECT MAX(sal) FROM teacher;

-老师工资最小值
SELECT MIN(sal) FROM teacher;-

--查询各部门的编号,最高工资,最低工资,工资总数,平均工资,并按照部门的工资总数降序排列
SELECT deptno,MAX(sal),MIN(sal),SUM(sal),AVG(sal) FROM teacher GROUP BY deptno ORDER BY SUM(sal);

转载于:https://www.cnblogs.com/kuoAT/p/6180917.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值