集合函数可以显示指定列中值的汇总。还可以使用 GROUP BY 子句、HAVING 子句和 ORDER BY 子句对使用集合函数得到的查询结果进行分组和排序,以及使用 UNION 运算符来合并查询结果。
可以将集合函数应用于表中的所有行、WHERE 子句指定的表的子集或表中的一组行或多组行。SQL Anywhere 会从每一组应用了集合函数的行生成一个值。
以下是部分受支持的集合函数:
avg(表达式) 对于返回的行,计算所提供的表达式的平均值。
count(表达式) 在表达式不是 NULL 的情况下计算所提供的组中的行数。
count(*) 计算每一组中行的数目。
list(字符串表达式) 包含逗号分隔列表的字符串,由每一组行中 string-expr 的所有值组成。
max(表达式) 对于返回的行,计算表达式的最大值。
min(表达式) 对于返回的行,计算表达式的最小值。
stddev(表达式) 对于返回的行,计算表达式的标准偏差。
sum(表达式) 对于返回的行,计算表达式的总和。
variance(表达式) 对于返回的行,计算表达式的方差。
有关集合函数的完整列表,请参见集合函数。
您可以将可选关键字 DISTINCT 与 AVG、SUM、LIST 和 COUNT 结合使用,以在应用集合函数前消除重复值。
语法语句引用的表达式通常是列名。也可以是更普通的表达式。
例如,通过以下语句,您可以求出在将 1 美元与每一个价格相加之后所有产品的平均价格:
SELECT AVG ( UnitPrice + 1 ) FROM Products; |
以下查询根据 Employees 表中的年薪来计算工资单总额:
SELECT SUM( Salary ) FROM Employees; |
要使用集合函数,必须提供后跟表达式的函数名,该表达式说明函数所的作用对象。该表达式(在此示例中是 Salary 列)是函数的参数,必须在括号内指定它。
在哪些地方可以使用集合函数
集合函数和数据类型
使用 COUNT(*)
将集合函数与 DISTINCT 一起使用
集合函数和 NULL
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |