您可使用 ALL、DISTINCT 或 UNIQUE 关键字来限定聚集函数的作用域。
如果您包括聚集作用域限定符,则它必须为参数列表中的第一项。
AVG(ship_weight) AVG(ALL ship_weight)
AVG(DISTINCT ship_weight) AVG(UNIQUE ship_weight)如果几个符合条件的行有相同的 ship_weight 值,则在计算该聚集的值中仅包括那个值的一个实例。
SELECT DISTINCT AVG(DISTINCT ship_weight) FROM orders;也就是说,在 Projection 子句和聚集函数的同一查询中,要将结果集限制到唯一的值是无效的。
然而,如果 Projection 子句为指定 SELECT 语句的 DISTINCT 或 UNIQUE 关键字,则该查询可包括一个或多个聚集函数,每一函数包括 DISTINCT 或 UNIQUE 关键字作为参数列表中的第一个规范,如在下列示例中所示:
SELECT AVG(UNIQUE ship_weight), COUNT (DISTINCT customer_num) FROM orders;