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 的用法 » 查询和修改数据 » 公用表表达式 » 公用表表达式的典型应用

 

多个集合函数

只要必须在一个查询中显示多个级别的集合,公用表表达式就很有用。这是上一部分使用的示例中的情况。任务是检索雇员数量最多的部门的部门 ID。为此,要使用 count 集合函数来计算每个部门的雇员数量,并使用 MAX 函数选择最大的部门。

在编写查询来确定哪个部门的工资额最多时,会出现类似的情况。SUM 集合函数用于计算每个部门的工资额,而 MAX 函数用于确定哪个部门最大。查询中同时出现这两个函数表明公用表表达式可能有用。

WITH DeptPayroll( DepartmentID, amt ) AS
    ( SELECT DepartmentID, SUM( Salary ) AS amt
      FROM Employees GROUP BY DepartmentID )
SELECT DepartmentID, amt
FROM DeptPayroll
WHERE amt = ( SELECT MAX( amt )
              FROM DeptPayroll )

有关集合函数的详细信息,请参见窗口集合函数