SG_007_CHAPTER 4 (汇聚函数)

AVG([{DISTINCT | ALL}] ) 默认是all


CORR( , )返回一对表达式的相关系数

运算为:COVAR_POP(y,x) / (STDDEV_POP(y) * STDDEV_POP(x)).


COUNT({* | [DISTINCT | ALL] }),default is ALL


COVAR_POP( , ) 返回一对表达式的总体协方差

(SUM(y*x) - SUM(y) * SUM(x) / COUNT(x)) / COUNT(x)


COVAR_SAMP( , )返回一对表达式的样本协方差

(SUM(y*x) - SUM(y) * SUM(x) / COUNT(x)) / (COUNT(x)-1)


CUME_DIST() WITHIN GROUP (ORDER BY col_list
[ASC|DESC] [NULLS {first|last}])

0< CUME_DIST <= 1

对col_list中的数值排序(升序或者降序),返回数值为val_list插入到已排序的col_list中所在的位置的数值(该数值不忽略在 col_list中的重复值)这个数值除以col_list的个数和val_list的个数之和。最后得到的结果就是返回值。其实就是得到所求数值在总体 数值中的位置。分子为该数值的位置,分母为总体数值个数。


DENSE_RANK

DENSE_RANK() WITHIN GROUP (ORDER BY col_list
[ASC|DESC] [NULLS {first|last}])

对col_list中的数值排序(升序或者降序),返回数值为val_list在col_list中的名次(忽略重复值)

[@more@]GROUPING(x)

用来标示,ROLLUP or CUBE clause是否返回数值,null标示为1,有数据返回标示为0


KEEP
agg_function KEEP(DENSE_RANK {FIRST|LAST}
ORDER BY col_list [ASC|DESC] [NULLS {first|last}]))

根据聚合函数的条件max()or min(),返回对col_list排序中(从开始计数)first或(从结尾计数)last 的符合聚合函数条件的数值。该返回的数值符合聚合函数。


PERCENT_RANK

PERCENT_RANK() WITHIN GROUP (ORDER BY col_list
[ASC|DESC] [NULLS {first|last}])

和CUME_DIST(累积分配)函数类似,对于一个组中给定的行来说,在计算那行的序号时,先减1,然后除以n-1(n为组中所有的行数)。该函数总是返回0~1(包括1)之间的数。

PERCENTILE_CONT

PERCENTILE_CONT() WITHIN GROUP (ORDER BY col_list
[ASC|DESC])

对col_list进行排序,返回位置为x,x就是在col_list中的条目数据的位置。其实就是返回位置为x的条目数据。

PERCENTILE_DISC

PERCENTILE_DISC() WITHIN GROUP (ORDER BY col_list
[ASC|DESC])

同上函数,不过返回下一条记录。这条记录greater than or equal to value x


RANK

RANK() WITHIN GROUP (ORDER BY col_list
[ASC|DESC] [NULLS {first|last}])

val_list在排序的col_list中的位置名次,在重复值之前计算位置名次。若两个同样的数值,那么被编号为1,1。接下来的一个数值被编为3,DENSE_RANK则没有任何跳跃。

REGR_SLOPE:返回斜率,等于COVAR_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 NULL

If VAR_POP(expr1) = 0 and VAR_POP(expr2) != 0 then return 1

If VAR_POP(expr1) > 0 and VAR_POP(expr2 != 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: 返回值等于REGR_COUNT(expr1, expr2) * COVAR_POP(expr1, expr2)


STDDEV
功能描述:计算当前行关于组的标准偏离。(Standard Deviation)


STDDEV_POP
功能描述:该函数计算总体标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同。(Standard Deviation-Population)


STDDEV_SAMP
功能描述: 该函数计算累积样本标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同。(Standard Deviation-Sample)


VAR_POP
VAR_POP() takes a single argument, where x is a numeric expression.
This function returns the numeric population variance of x.
(SUM(x*x) – SUM(x) * SUM(x) / COUNT(x)) / COUNT(x).

VAR_SAMP
VAR_SAMP() takes a single argument, where x is a numeric expression.
(SUM(x*x) – SUM(x) * SUM(x) / COUNT(x)) / (COUNT(x)-1).


VARIANCE
功能描述:该函数返回表达式的变量,Oracle计算该变量如下:
如果表达式中行数为1,则返回0
如果表达式中行数大于1,则返回VAR_SAMP


另见:http://www.cnblogs.com/mikalshao/articles/1487550.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11997930/viewspace-1026574/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11997930/viewspace-1026574/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值