分组操作:按列分组
GROUP BY 语句用于将数据按指定列分组,从而将具有相同分组值的行组合在一起。例如,以下查询根据国家对销售数据进行分组:
SELECT country, SUM(sales)
FROM sales_data
GROUP BY country;
此查询将按国家分组,并计算每个国家的销售总额。
按条件多列统计
除了基本的按列分组外,SQL 还允许使用条件对分组后的数据进行统计。HAVING 子句允许在分组后对组结果应用附加条件。例如,以下查询计算销售额超过 100 万美元的国家的销售总额:
SELECT country, SUM(sales)
FROM sales_data
GROUP BY country
HAVING SUM(sales) > 1000000;
此查询将按国家分组,并仅保留销售额超过 100 万美元的组。
多个条件统计
SQL 支持在 HAVING 子句中使用多个条件,从而允许对分组后的数据进行更复杂的多列统计。例如,以下查询计算销售额超过 100 万美元且利润率超过 5% 的国家的销售总额:
SELECT country, SUM(sales)
FROM sales_data
GROUP BY country
HAVING SUM(sales) > 1000000 AND AVG(profit_margin) > 0.05;
此查询按国家分组,并仅保留符合两个条件的组。
SQL 中的按条件分组后多列统计是一个强大的工具,用于对分组后的数据进行聚合和分析。通过利用 GROUP BY 和 HAVING 子句,数据分析师和开发人员可以提取见解并做出基于数据的决策,从而提高数据洞察力。