第6章 聚合函数与分组查询
第6章 聚合函数与分组查询是数据库学习中一个至关重要的部分,主要涉及如何使用SQL对数据进行统计分析。以下是该章节的一些关键点和常用语法:
聚合函数
聚合函数用于在一组值上执行计算,并返回单个值。这些函数经常用于分析和报告数据。
COUNT(column_name): 计算指定列中的行数。
SELECT COUNT(column_name) FROM table_name;
SUM(column_name): 求和,计算指定列数值的总和。
SELECT SUM(column_name) FROM table_name;
AVG(column_name): 平均值,计算指定列数值的平均值。
SELECT AVG(column_name) FROM table_name;
MIN(column_name): 最小值,找到指定列中最小的数值。
SELECT MIN(column_name) FROM table_name;
MAX(column_name): 最大值,找到指定列中最大的数值。
SELECT MAX(column_name) FROM table_name;
分组查询
分组查询用于将具有相同值的行分组,然后对每组数据进行聚合计算。通常结合GROUP BY
子句使用。
GROUP BY: 根据一个或多个列对结果集进行分组。
SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name;
HAVING: 用于对分组后的结果进行过滤,与
WHERE
子句不同,HAVING
可以用于聚合函数。SELECT column_name, SUM(column_name)
FROM table_name
GROUP BY column_name
HAVING SUM(column_name) > value;
示例
假设有一个表"sales"记录了产品的销售情况,其中包含"product_id"(产品ID)和"sale_amount"(销售金额)。
计算每个产品的总销售额:
SELECT product_id, SUM(sale_amount)
FROM sales
GROUP BY product_id;
找出总销售额超过1000的产品:
SELECT product_id, SUM(sale_amount)
FROM sales
GROUP BY product_id
HAVING SUM(sale_amount) > 1000;
通过理解和应用这些聚合函数与分组查询的方法,能够极大地提高数据分析的效率和效果,适用于各种商业分析场景。继续学习并动手实践,可以加深对这些概念的理解和掌握。