十個必知必會的SQL聚合函數
數據處理是專業人士經常面對的問題,尤其是在大型數據集的情況下。有效總結和分析數據非常重要,能從數據中獲取有價值的見解。SQL提供了一組強大的聚合函數,可以幫助數據科學家和數據分析師更好地處理和分析數據。
本文介紹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聚合函數是數據分析師和數據科學家在處理大型數據集時非常有用的工具。掌握這些函數并了解如何使用函數可以幫助讀者更好地理解數據,從而做出明智的決策。