您可以将集合函数应用于表中的所有行、应用于 WHERE 子句所指定的表的子集或者应用于表中一组行或多组行。Adaptive Server Anywhere 可以从应用了集合函数的每一组行生成一个值。
下面是可用集合函数中的一部分:
avg(表达式) 对于返回的行,计算所提供的表达式的平均值。
count(表达式) 在表达式不是 NULL 的情况下计算所提供的组中的行数。
count(*) 计算每一组中行的数目。
list(字符串表达式) 一个包含逗号分隔的列表的字符串,列表由每一组行中 string-expr 的所有值组成。
max(表达式) 对于返回的行,计算表达式的最大值。
min(表达式) 对于返回的行,计算表达式的最小值。
stddev(表达式) 对于返回的行,计算表达式的标准偏差。
sum(表达式) 对于返回的行,计算表达式的总和。
variance(表达式) 对于返回的行,计算表达式的方差。
有关集合函数的完整列表,请参见集合函数。
您可以将可选关键字 DISTINCT 与 AVG、SUM、LIST 和 COUNT 结合使用,以在应用集合函数前消除重复值。
语法语句引用的表达式通常是列名称。引用的表达式也可以是较为一般性的表达式。
例如,通过以下语句,您可以求出在将 1 美元与每一个价格相加之后所有产品的平均价格:
SELECT AVG (unit_price + 1) FROM product
以下查询将根据雇员表中的年薪来计算工资单总额:
SELECT SUM(salary) FROM employee
若要使用集合函数,您必须提供函数名称,后随一个表达式,然后将对表达式的值进行运算。表达式(在此示例中是 salary 列)是函数的参数,并且必须在括号内指定。
在哪些地方可以使用集合函数
集合函数和数据类型
使用 COUNT(*)
将集合函数与 DISTINCT 一起使用
集合函数和 NULL
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。