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

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 查询数据

 

集合函数

有些查询会检查表中数据的某些方面,这些方面反映组行(而不是单行)的属性。例如,您可能要计算客户为某一订单支付的平均款额,或者需要了解有多少雇员为各个部门工作。对于这些类型的任务,您可以使用集合函数和 GROUP BY 子句。

 ♦  列出公司的雇员数
  • 在 Interactive SQL 中,执行以下查询:

    SELECT COUNT( * )
       FROM Employees;
    COUNT(*)
    75

    结果集仅包含一列(标题为 COUNT(*))和一行(包含雇员的总人数)。

 ♦  列出公司的雇员数以及年纪最大和最小的雇员的出生日期
  • 在 Interactive SQL 中,执行以下查询:

    SELECT COUNT( * ), MIN( BirthDate ), MAX( BirthDate )
       FROM Employees;
    COUNT(*) MIN(Employees.BirthDate) MAX(Employees.BirthDate)
    75 1936-01-02 1973-01-18

函数 COUNT、MIN 和 MAX 称作集合函数。集合函数用于汇总信息。其它集合函数包括统计函数,如 AVG、STDDEV 和 VARIANCE。除 COUNT 之外的所有函数都需要一个参数。请参见集合函数

集合函数为一组行返回一个值。如果没有 GROUP BY 子句,集合函数将称为标量集合,并且为满足查询其它方面的所有行返回一个值。如果存在 GROUP BY 子句,集合函数将称为矢量集合,并且将为每个组返回一个值。

SQL Anywhere 支持用于分析的其它集合函数,有时称为 OLAP 函数。这些函数中的有些函数可用作窗口函数:它们包括 RANK、PERCENT_RANK、CUME_DIST、ROW_NUMBER 和支持线性回归分析的函数。请参见OLAP 支持


将集合函数应用于分组数据
限制组
组合 WHERE 和 HAVING 子句