逆分布分析函数 PERCENTILE_CONT 和 PERCENTILE_DISC 将一个百分点值作为函数参数使用,并对 WITHIN GROUP 子句中指定的一组数据执行操作或对整个数据集执行操作。
这些函数为每个组返回一个值。对于 PERCENTILE_DISC,结果的数据类型与在 WITHIN GROUP 子句中指定的它的 ORDER BY 项的数据类型相同。对于 PERCENTILE_CONT,结果的数据类型为数值(如果 WITHIN GROUP 子句中的 ORDER BY 项为数值)或双精度(如果 ORDER BY 项为整数或浮点数)。
逆分布分析函数需要 WITHIN GROUP ( ORDER BY ) 子句。例如:
PERCENTILE_CONT ( expression1 ) WITHIN GROUP ( ORDER BY expression2 [ASC | DESC ] )NULL,将返回“wrong argument for percentile”(百分点的参数错误)错误。如果参数值小于 0 或大于 1,将返回“data value out of range”(数据值超出范围)错误。
ORDER BY 子句(必须存在)指定要执行百分点函数的表达式以及每个组中行的排列顺序。此 ORDER BY 子句只在 WITHIN GROUP 子句中使用,而不是 SELECT 的 ORDER BY。
WITHIN GROUP 子句将查询结果分布到排序数据集中,函数通过此数据集计算结果。
值
ASC 或 DESC 参数指定排序顺序,如升序或降序。升序是缺省值。
子查询、HAVING 子句、视图或联合中允许使用逆分布分析函数。可以在使用简单非分析集合函数的任意位置使用逆分布函数。逆分布函数忽略数据集中的空值。