oracle最全函数大全(分析函数聚合函数转换函数日期型函数字符型函数数值型函数其他函数)精编版

上传人:ahu****ng1 文档编号:130781289 上传时间:2020-05-01 格式:DOCX 页数:70 大小:143.69KB
返回 下载 相关 举报
oracle最全函数大全(分析函数聚合函数转换函数日期型函数字符型函数数值型函数其他函数)精编版_第1页
第1页 / 共70页
oracle最全函数大全(分析函数聚合函数转换函数日期型函数字符型函数数值型函数其他函数)精编版_第2页
第2页 / 共70页
oracle最全函数大全(分析函数聚合函数转换函数日期型函数字符型函数数值型函数其他函数)精编版_第3页
第3页 / 共70页
oracle最全函数大全(分析函数聚合函数转换函数日期型函数字符型函数数值型函数其他函数)精编版_第4页
第4页 / 共70页
oracle最全函数大全(分析函数聚合函数转换函数日期型函数字符型函数数值型函数其他函数)精编版_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《oracle最全函数大全(分析函数聚合函数转换函数日期型函数字符型函数数值型函数其他函数)精编版》由会员分享,可在线阅读,更多相关《oracle最全函数大全(分析函数聚合函数转换函数日期型函数字符型函数数值型函数其他函数)精编版(70页珍藏版)》请在金锄头文库上搜索。

1、最新资料推荐oracle函数大全(分析函数,聚合函数,转换函数,日期型函数,字符型函数,数值型函数,其他函数)oracle函数大全1oracle分析函数-SQL*PLUS环境1oracle 10g函数大全-聚合函数19oracle 10g函数大全-转换函数23oracle 10g函数大全-日期型函数40oracle 10g函数大全-字符型函数45oracle 10g函数大全-数值型函数55oracle 10g函数大全-其他函数58oracle分析函数-SQL*PLUS环境一、总体介绍1.1. 分析函数如何工作语法 FUNCTION_NAME(,) OVER ( ORDER BY 表达式 ) P

2、ARTITION子句 ORDER BY子句 WINDOWING子句 缺省时相当于RANGE UNBOUNDED PRECEDING 1. 值域窗(RANGE WINDOW) RANGE N PRECEDING 仅对数值或日期类型有效,选定窗为排序后当前行之前,某列(即排序列)值大于/小于(当前行该列值 /+ N)的所有行,因此与ORDER BY子句有关系。 2. 行窗(ROW WINDOW) ROWS N PRECEDING 选定窗为当前行及之前N行。 还可以加上BETWEEN AND 形式,例如RANGE BETWEEN m PRECEDING AND n FOLLOWING 函数 AVG(

3、 eXPr) 一组或选定窗中表达式的平均值 CORR(expr, expr) 即COVAR_POP(exp1,exp2) / (STDDEV_POP(expr1) * STDDEV_POP(expr2),两个表达式的互相关,-1(反相关) 1(正相关),0表示不相关 COUNT( ) 计数 COVAR_POP(expr, expr) 总体协方差 COVAR_SAMP(expr, expr) 样本协方差 CUME_DIST 累积分布,即行在组中的相对位置,返回0 1 DENSE_RANK 行的相对排序(与ORDER BY搭配),相同的值具有一样的序数(NULL计为相同),并不留空序数 FIRST

4、_VALUE 一个组的第一个值 LAG(expr, , ) 访问之前的行,OFFSET是缺省为1 的正数,表示相对行数,DEFAULT是当超出选定窗范围时的返回值(如第一行不存在之前行) LAST_VALUE 一个组的最后一个值 LEAD(expr, , ) 访问之后的行,OFFSET是缺省为1 的正数,表示相对行数,DEFAULT是当超出选定窗范围时的返回值(如最后行不存在之前行) MAX(expr) 最大值 MIN(expr) 最小值 NTILE(expr) 按表达式的值和行在组中的位置编号,如表达式为4,则组分4份,分别为1 4的值,而不能等分则多出的部分在值最小的那组 PERCENT_

5、RANK 类似CUME_DIST,1/(行的序数 - 1) RANK 相对序数,答应并列,并空出随后序号 RATIO_TO_REPORT(expr) 表达式值 / SUM(表达式值) ROW_NUMBER 排序的组中行的偏移 STDDEV(expr) 标准差 STDDEV_POP(expr) 总体标准差 STDDEV_SAMP(expr) 样本标准差 SUM(expr) 合计 VAR_POP(expr) 总体方差 VAR_SAMP(expr) 样本方差 VARIANCE(expr) 方差 REGR_ xxxx(expr, expr) 线性回归函数 REGR_SLOPE:返回斜率,等于COVAR

6、_POP(expr1, expr2) / VAR_POP(expr2)REGR_INTERCEPT:返回回归线的y截距,等于AVG(expr1) - REGR_SLOPE(expr1, expr2) * AVG(expr2)REGR_COUNT:返回用于填充回归线的非空数字对的数目REGR_R2:返回回归线的决定系数,计算式为:If VAR_POP(expr2) = 0 then return NULLIf VAR_POP(expr1) = 0 and VAR_POP(expr2) != 0 then return 1If VAR_POP(expr1) 0 and VAR_POP(expr2

7、!= 0 then return POWER(CORR(expr1,expr),2)REGR_AVGX:计算回归线的自变量(expr2)的平均值,去掉了空对(expr1, expr2)后,等于AVG(expr2)REGR_AVGY:计算回归线的应变量(expr1)的平均值,去掉了空对(expr1, expr2)后,等于AVG(expr1)REGR_SXX: 返回值等于REGR_COUNT(expr1, expr2) * VAR_POP(expr2)REGR_SYY: 返回值等于REGR_COUNT(expr1, expr2) * VAR_POP(expr1)REGR_SXY: 返回值等于REG

8、R_COUNT(expr1, expr2) * COVAR_POP(expr1, expr2)首先:创建表及接入测试数据create table students(id number(15,0),area varchar2(10),stu_type varchar2(2),score number(20,2);insert into students values(1, 111, g, 80 );insert into students values(1, 111, j, 80 );insert into students values(1, 222, g, 89 );insert into

9、students values(1, 222, g, 68 );insert into students values(2, 111, g, 80 );insert into students values(2, 111, j, 70 );insert into students values(2, 222, g, 60 );insert into students values(2, 222, j, 65 );insert into students values(3, 111, g, 75 );insert into students values(3, 111, j, 58 );inse

10、rt into students values(3, 222, g, 58 );insert into students values(3, 222, j, 90 );insert into students values(4, 111, g, 89 );insert into students values(4, 111, j, 90 );insert into students values(4, 222, g, 90 );insert into students values(4, 222, j, 89 );commit;二、具体应用:1、分组求和:1.2. GROUP BY子句 1.2

11、.1. GROUPING SETSselect id,area,stu_type,sum(score) score from studentsgroup by grouping sets(id,area,stu_type),(id,area),id)order by id,area,stu_type;/*-理解grouping setsselect a, b, c, sum( d ) from tgroup by grouping sets ( a, b, c )等效于select * from (select a, null, null, sum( d ) from t group by a

12、union allselect null, b, null, sum( d ) from t group by b union allselect null, null, c, sum( d ) from t group by c )*/1.2.2. ROLLUPselect id,area,stu_type,sum(score) score from studentsgroup by rollup(id,area,stu_type)order by id,area,stu_type;1.2.3. rollupselect a, b, c, sum( d )from tgroup by rol

13、lup(a, b, c);等效于select * from (select a, b, c, sum( d ) from t group by a, b, c union allselect a, b, null, sum( d ) from t group by a, bunion allselect a, null, null, sum( d ) from t group by aunion allselect null, null, null, sum( d ) from t)*/1.2.4. CUBEselect id,area,stu_type,sum(score) score fr

14、om studentsgroup by cube(id,area,stu_type)order by id,area,stu_type;/*-理解cubeselect a, b, c, sum( d ) from tgroup by cube( a, b, c)等效于select a, b, c, sum( d ) from tgroup by grouping sets( ( a, b, c ), ( a, b ), ( a ), ( b, c ), ( b ), ( a, c ), ( c ), () )*/1.2.5. GROUPING/*从上面的结果中我们很容易发现,每个统计数据所对应的行都会出现null,如何来区分到底是根据那个字段做的汇总呢,grouping函数判断是否合计列!*/select decode(grouping(id),1,all id,id) id,decode(grouping(area),1,all area,to_char(area) area,decode(grouping(stu_type)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号