Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 对查询结果进行汇总、分组和排序

 

使用集合函数汇总查询结果

集合函数可以显示指定列中值的汇总。还可以使用 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