DBA 是万能的!
在工作中,一涉及到数据方面的问题,同事们都喜欢跑来问DBA,出个报表吧,给你一堆数据指标,要求按照指标统计分析出结果,很是期待。DBA要变成数据挖掘工程师,还的学统计学,运用统计分析工具,很是无奈,亚历山大!
不过一般同事的需求用oracle的技术完全可以解决,“刁难的”问题,干脆回绝了,不要逞强,浪费时间。
oracle有一些数据分析函数,我们可以用它来解决一些常规的统计任务:
函数如下:(部分函数没有使用过,仅供参考)
SUM : 该函数用来计算一个域或组中表达式的累积和
MIN : 计算一个域中的数据的最小值
MAX : 计算一个域中的数据的最最大值
AVG :计算一个域中的数据的平均值。
COUNT : 对一组内发生的特征量进行累积计数
RANK : 根据 ORDER BY 子句中表达式的值,从查询返回的结果中的每一行,计算它们与其它行的相对位置
DENSE_RANK : 根据 ORDER BY 子句中表达式的值,从查询返回的记录中的每一行,计算它们与其它行的相对位置
FIRST : 从 DENSE_RANK 返回的集合中取出排在最前面的一行
LAST : 从 DENSE_RANK 返回的集合中取出排在最后面的一个值的行
FIRST_VALUE : 返回组中数据窗口的第一个值
LAST_VALUE : 返回组中数据窗口的最后一个值。
LAG : 可以访问结果集中的其它行而不用进行自连接
LEAD : LEAD 与 LAG 相反, LEAD 可以访问组中当前行之后的行
ROW_NUMBER : 返回有序组中一行的偏移量,从而可用于按特定标准排序的行号
STDDEV : 计算当前行关于组的标准偏离
STDDEV_POP : 该函数计算总体标准偏离,并返回总体变量的平方根
STDDEV_SAMP : 该函数计算累积样本标准偏离,并返回总体变量的平方根
VAR_POP : 该函数返回非空集合的总体变量(忽略 null )
VAR_SAMP : 该函数返回非空集合的样本变量(忽略 null )
VARIANCE : 如果表达式中行数为 1 ,则返回 0 ,如果表达式中行数大于 1 ,则返回 VAR_SAMP
COVAR_POP :返回一对表达式的总体协方差
COVAR_SAMP :返回一对表达式的样本协方差
CORR :返回一对表达式的相关系数
CUME_DIST : 计算一行在组中的相对位置
NTILE : 将一个组分为 " 表达式 " 的散列表示
PERCENT_RANK : 和 CUME_DIST (累积分配)函数类似
PERCENTILE_DISC : 返回一个与输入的分布百分比值相对应的数据值
PERCENTILE_CONT : 返回一个与输入的分布百分比值相对应的数据值
RATIO_TO_REPORT : 该函数计算 expression/(sum(expression)) 的值,它给出相对于总数的百分比
REGR_ (Linear Regression) Functions : 这些线性回归函数适合最小二乘法回归线,有 9 个不同的回归函数可使用
CUBE : 按照 OLAP 的 CUBE 方式进行数据统计 , 即各个维度均需统计
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28985005/viewspace-764957/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28985005/viewspace-764957/