本文介绍10个实用的SQL聚合函数,并举例说明其在实际应用中的使用方法,有助于读者更好地理解SQL聚合函数的工作原理和应用场景。
基本聚合函数
1. COUNT
用于计算表中的行数或列中的非空值数量。
SELECT COUNT(*) AS total_rows
FROM orders;
2. SUM
用于计算数值列中值的总和。
SELECT SUM(sales_amount) AS total_sales
FROM transactions;
3. AVG
用于计算数值列中值的平均值(平均数)。
SELECT AVG(price) AS average_price
FROM products;
4. MIN和MAX
可查找列中的最小值和最大值。
SELECT MIN(stock_quantity) AS min_quantity,
MAX(stock_quantity) AS max_quantity
FROM inventory;
分组聚合函数
5. GROUP BY
按照一个或多个列对数据进行分组,并对每个组应用聚合函数。
SELECT category, AVG(price) AS avg_price
FROM products
GROUP BY category;
6. HAVING
根据聚合值对分组结果进行过滤筛选,只有满足指定条件的组才会被包含在结果集中。
SELECT category, AVG(price) AS avg_price
FROM products
GROUP BY category
HAVING AVG(price) > 100;
统计聚合函数
7. STDDEV和VARIANCE
用于计算数值列中的标准差和方差。
SELECT STDDEV(salary) AS salary_stddev,
VARIANCE(salary) AS salary_variance
FROM employees;
8. CORR和COVAR
用于计算两列之间的相关系数和协方差。
SELECT CORR(price, sales) AS price_sales_corr,
COVAR(price, sales) AS price_sales_covar
FROM products;
与DISTINCT一起使用的聚合函数
9. COUNT(DISTINCT)
可计算列中不同值的数量。
SELECT COUNT(DISTINCT product_category) AS unique_categories
FROM products;
10. GROUP_CONCAT
可将多行中的值连接成单个字符串。
SELECT order_id, GROUP_CONCAT(product_name) AS ordered_products
FROM order_details
GROUP BY order_id;
这10个SQL聚合函数是数据分析师和数据科学家在处理大型数据集时非常有用的工具。掌握这些函数并了解如何使用函数可以帮助读者更好地理解数据,从而做出明智的决策。