Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
计算由数字表达式组成的总体的统计方差,类型为 DOUBLE。
VAR_POP( numeric-expression )
VAR_POP( numeric-expression ) OVER ( window-spec )
window-spec:请参见以下的注释部分中语法 2 的说明。
numeric-expression 一个表达式,其基于总体的方差以一组行为基础进行计算。此表达式通常是列名。
DOUBLE
此函数将其参数转换为 DOUBLE,以双精度浮点运算执行计算,然后返回 DOUBLE 值作为结果。
根据以下公式计算 numeric-expression (x) 基于总体的方差 (s2):
s2 = (1/N) * SUM( xI - mean( x ) )2
此方差不包括 numeric-expression 是 NULL 的行。对于不包含任何行的组,它返回 NULL。
语法 2 表示作为 SELECT 语句中的窗口函数的用法。因此,可以在函数语法中指定 window-spec 的元素(内置),也可以将这些元素与 SELECT 语句中的 WINDOW 子句一并加以指定。请参见 WINDOW 子句的 window-spec 定义。
有关在 SELECT 语句中使用窗口函数的详细信息(包括工作示例),请参见窗口函数。
有关在 OVER 子句中指定窗口说明的详细信息,请参见窗口定义:内置使用 OVER 子句和 WINDOW 子句。
SQL/2008 VAR_POP 函数是可选 SQL/2008 语言功能 T621 "增强的数字函数" 的一部分。用作窗口函数时,VAR_POP 是可选 SQL 基础功能 T611 "基本 OLAP 操作" 的组成部分。
对不是列引用的表达式指定 DISTINCT 的能力是可选 SQL 语言功能 F561 "完全值表达式" 的组成部分。SQL Anywhere 还支持 SQL/2008 语言功能 F441 "扩展集函数支持",允许集合函数的操作数是任意表达式,可能包括对其它查询块中不是列引用的表达式的外部引用。
SQL Anywhere 不支持可选的 SQL/2008 功能 F442 "集函数中的混合列引用"。SQL Anywhere 不允许集合函数参数既含有来自包含 VAR_POP 函数的查询块的列引用,又含有外部引用。有关示例内容,请参见AVG 函数 [Aggregate]。
以下语句列出不同时间段每个订单的产品数目的平均值和方差:
SELECT YEAR( ShipDate ) AS Year, QUARTER( ShipDate ) AS Quarter, AVG( Quantity ) AS Average, VAR_POP( quantity ) AS Variance FROM SalesOrderItems GROUP BY Year, Quarter ORDER BY Year, Quarter;