聚合函数

聚合函数返回一组记录的单个值。您可以将聚合函数用作 SELECT 语句的一部分,与字段名(例如,AVG(SALARY))一起使用,或结合列表达式(例如,AVG(SALARY * 1.07))一起使用。

您可以在列表达式的前面加上 DISTINCT 运算符,以清除重复值。

示例

复制
COUNT (DISTINCT last_name)

在本示例中,仅对唯一的姓氏值进行计数。

聚合函数

返回

SUM

数字字段表达式中值的总计。例如,SUM(SALARY) 返回所有薪金字段值的总和。

AVG

数字字段表达式中值的平均值。例如,AVG(SALARY) 返回所有薪金字段值的平均值。

COUNT

字段表达式中值的数目。例如,COUNT(NAME) 返回名称值的数目。将 COUNT 与字段名一起使用时,COUNT 返回非 null 字段值的数目。特例为 COUNT(*),它返回集合中记录的数目,包括值为 null 的记录。

MAX

字段表达式中的最大值。例如,MAX(SALARY) 返回最大的薪金字段值。

MIN

字段表达式中的最小值。例如,MIN(SALARY) 返回最小的薪金字段值。

示例

复制
SELECT SUM (Sales_Data.Amount) AS agg FROM Sales_Data

SELECT AVG (Sales_Data.Amount) AS agg FROM Sales_Data

SELECT COUNT (Sales_Data.Amount) AS agg FROM Sales_Data

SELECT MAX (Sales_Data.Amount) AS agg FROM Sales_Data WHERE Sales_Data.Amount < 3000

SELECT MIN (Sales_Data.Amount) AS agg FROM Sales_Data WHERE Sales_Data.Amount > 3000

不能将聚合函数作为其他函数的参数。否则,FileMaker 软件将返回错误代码 8309(“不支持包含聚合函数的表达式”)。例如,以下语句无效,因为聚合函数 SUM 不能用作 ROUND 函数的参数:

示例

复制
SELECT ROUND(SUM(Salary), 0) FROM Payroll

但是,聚合函数可以使用将数值作为参数返回的函数。以下语句有效。

示例

复制
SELECT SUM(ROUND(Salary, 0)) FROM Payroll