Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
根据指定的参数计算组中的行数。
COUNT( [ * | [ ALL | DISTINCT ] expression ] )
COUNT( [ * | [ ALL ]expression ] ) OVER ( window-spec )
window-spec : see Syntax 2 instructions in the Remarks section below
* 返回每组中的行数。COUNT(*) 和 COUNT() 在语义上等效。
[ ALL ] expression 返回各组中 expression 的值不为空的行数。
DISTINCT expression 返回各组中 expression 不为空的所有行的不同 expression 值。
COUNT 函数返回类型为 INT 的值。
COUNT 从不返回值 NULL。如果组不包含任何行或者组中没有 expression 的非空值,那么 COUNT 将返回 0。
COUNT 函数可返回的最大值是 2147483647。如果要对大型结果集进行计数,结果可能具有更多行或者可能发生溢出,所以请使用 COUNT_BIG 函数。
语法 2 表示作为 SELECT 语句中的窗口函数的用法。因此,可以在函数语法中指定 window-spec 的元素(内置),也可以将这些元素与 SELECT 语句中的 WINDOW 子句一并加以指定。请参见WINDOW 子句中的 window-spec 定义。
有关在 SELECT 语句中使用窗口函数的详细信息(包括工作示例),请参见窗口函数。
有关在 OVER 子句中指定窗口说明的详细信息,请参见窗口定义:内置使用 OVER 子句和 WINDOW 子句。
SQL/2008 核心功能。用作窗口函数时(语法 2),COUNT 是可选 SQL/2008 语言功能 T611 "基本 OLAP 操作" 的组成部分。
对不是列引用的表达式指定 DISTINCT 的能力是可选 SQL 语言功能 F561 "全值表达式" 的组成部分。SQL Anywhere 还支持 SQL/2008 语言功能 F441 "扩展集函数支持",允许集合函数的操作数是任意表达式,可能包括对其它查询块中不是列引用的表达式的外部引用。
SQL Anywhere 不支持可选的 SQL/2008 功能 F442 "集函数中的混合列引用"。SQL Anywhere 不允许集合函数参数既含有来自包含 COUNT 函数的查询块的列引用,又含有外部引用。请参见集合函数和外部引用。有关示例内容,请参见AVG 函数 [Aggregate]
以下语句返回每个唯一的城市和在该城市工作的雇员数。
SELECT City, COUNT( * ) FROM Employees GROUP BY City;