分析函数 | 用途 |
AVG(<distinct|all> expression) | 用于计算一个组和窗口内表达式的平均值。Distinct用于去掉重复的数据后得到该组的平均值 |
CORR(expression, expression) | 返回一对表达式的相关系数,它是如下的缩写: COVAR_POP(expression1,expression2)/(STDDEV_POP(expression1)* STDDEV_POP(expression2)) 从统计上讲,相关性是变量之间相关的强度,变量之间的关联意味着在某种程度上一个变量的值可由其他的值进行预测,通过返回一个-1~1之间的一个数,相关系数给出了关联的强度,0表示不相关 |
COUNT(<distinct><*><expression>) | 它将对一组内发生的事情进行计数,如果指定*或一些非空常数,count将对所有的行计数,如果指定一个表达式,count返回表达式非空赋值计数,可以使用distinct去掉一组中完全相同的数据后出现的行数 |
COVAR_POP(expression, expression) | 返回一对表达式的总体协方差 |
COVAR_SAMP(expression, expression) | 返回一对表达式的样本协方差 |
CUME_DIST | 计算一行在组中的相对位置。它总是返回大于0,小于等于1的数,该数表示该行在N行中的位置。例如,在一个3行的组中,返回的累计分布值为1/3、2/3和3/3 |
DENSE_RANK | 根据order by子句中表达式的值,从查询返回的每一行,计算它们与其他行的相对位置。组内的数据按order by子句排序,然后给每一行赋一个数字序号,从而形成一个序列,该序列从1开始,往后累加,每次order by表达式的值发生变化时,该序列也随之增加。有同样值的行得到相同的数字序号(认为null是相当的),密集的序列返回的是没有间隔的数 |
FIRST_VALUE | 返回组中的第一个值 |
LAST_VALUE | 返回组中的最后一个值 |
LAG(expression,<offset>,<default>) | LAG可以访问结果集中的其他行而不用进行自连接。它允许去处理游标,就好像游标是一个数组一样。在给定组中可参考当前行之前的行,这样就可以从组中与当前行一起选择以前的行。关于如何获取“下一行”可参考LEAD。 offset是一个正整数,其默认数为1。若索引超出窗口的范围,就返回默认值(默认返回的是组中第一行) |
LEAD(expression,<offset>,<default>) | LEAD和LAG相反,LAG可访问组中当前行之前的行,LEAD可访问组中当前行之后的行。 offset是一个正整数,其默认数为1。若索引超出窗口的范围,就返回默认值(默认返回的是组中最后一行) |
MAX(expression) | 在一个组的窗口中查找表达式的最大值 |
MIN(expression) | 在一个组的窗口中查找表达式的最小值 |
NTILE(expression) | 将一个组分为“表达式值”的散列表示 例如,如果表达式=4,则给组中的每一行分配一个数(从1到4),如果组中有20行,则给前5行分配1,给下5分配2等等。如果组中的基数不是由表达式平均分开的,则对这些行进行分配时,组中就没有任何percentile的行数比其他percentile的行数超过一行,最低的percentile是那些拥有额外行的percentile。例如,若表达式=4,行数=21,则percentile=1的有6行,percentile=2的有5行等等 |
PERCENT_RANK | 它与CUME_DIST(累积分配)函数类似。对于一个组中给定的行来说,在计算那行的序号时,先减去1,然后除以1(1小于组中所求的行数)。该函数总是返回0~1(包括1)之间的数 |
RANK | 根据order by子句中表达式的值,从查询返回的每一行,计算它们与其他行的相对位置。组内的数据按order by子句排序,然后给每一行赋一个数字序号,从而形成一个序列,该序列从1开始,往后累加,每次order by表达式的值发生变化时,该序列也随之增加。有同样值的行得到相同的数字序号(认为null是相当的),然而,如果两行的确得到同样的排序,则序数将随后跳跃。若两行序数为1,则没有序数2,序列将给组中的下一行分配值3,DENSE_RANK则没有任何跳跃值 |
RATIO_TO_REPORT(expression) | 该函数计算expression/sum(expression)的值,它给出相对于总数的百分比,即当前行对sum(expression)的贡献 |
ROW_NUMBER | 返回有序组中一行的偏移量,从而可用于按特定标准排序的行号 |
STDDEV(expression) | 计算当前行关于组的标准偏离 |
STDDEV_POP(expression) | 该函数计算总体标准偏离,并返回总体变量的平方根,其返回值与VAR_POP函数的平方根相同 |
STDDEV_SAMP(expression) | 该函数计算累计样本标准偏离,并返回样本变量的平方根,其返回值与VAR_SAMP函数的平方根相同 |
SUM(expression) | 该函数计算组中表达式的累积和 |
VAR_POP(expression) | 该函数返回非空集合的总体变量(忽略null)它进行如下计算: (SUM(expr* expr)-SUM(expr)* SUM(expr)/COUNT(expr))/COUNT(expr) |
VAR_SAMP(expression) | 该函数返回非空集合的样本变量(忽略null)它进行如下计算: (SUM(expr* expr)-SUM(expr)* SUM(expr)/COUNT(expr))/(COUNT(expr)-1) |
VARIANCE(expression) | 该函数返回表达式的变量,计算该变量如下:如果表达式中行数为1,则返回0;如果表达式中行数大于1,则返回VAR_SAMP |