SQL 中 GROUP BY、HAVING 子句及数据更新操作详解
1. GROUP BY 和 HAVING 子句
1.1 GROUP BY 子句
GROUP BY 子句与聚合函数配合使用,可根据列对结果集中的数据进行分组。结果集中的行依据 GROUP BY 子句中指定的列进行分组。此外,GROUP BY 子句还能对结果集中的行(子)组应用聚合函数。
例如,在某个示例中, ship_city 作为分组列,将 CUSTOMERS 表中的行按不同的 ship_city 值进行分组。聚合函数 COUNT 和 AVG 依次应用于每个组,并为每个组在结果集中生成一行。在该示例中, discount 列为空的行未被排除,这样结果集就能完整统计每个城市的客户数量。平均折扣是针对 discount 列不为空的客户计算的。对于任何可包含空值的分组列,所有空值都被视为同一(空)组。
分组列名需同时列在选择列表和 GROUP BY 子句中,以便最终结果集中的每一行都包含该组的标识列值。选择列表中出现的其他列必须作为聚合函数的参数。
1.2 HAVING 子句
HAVING 子句用于在对分组行应用聚合函数后,限制结果集中的行。HAVING 子句的形式与 WHERE 子句类似,WHERE 子句在分组前选择行,而 HAVING 子句在分组后筛选组。
例如,可使用包含 HAVING 子句的 SELECT 语句检索平均
超级会员免费看
订阅专栏 解锁全文
152

被折叠的 条评论
为什么被折叠?



