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

1分析函数

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

rank_number()

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

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

查询结果如图:

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

rank()

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

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

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

dense_rank()

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

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

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

 2.聚合函数

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

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

--老师工资平均数

SELECT AVG(sal) FROM teacher;

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

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

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

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

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

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

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

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

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

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

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

上一篇:用Python实现数据结构之二叉搜索树


下一篇:Python之Web框架Django