儘管基本的 SQL 查詢可以擷取、插入、更新和刪除記錄,但彙總查詢能在大型結果集中提供總和、平均值或最大最小值等資訊,將資料庫互動提升到一個新水平。在本文中,我們將探索彙總 SQL 查詢的基礎知識,研究如何有效地使用它們來分析和總結資料。
理解彙總函式
SQL 中的彙總函式能對一組資料列進行操作,並傳回單一值作為輸出。當對資料庫中的資料進行計算時,這些函式非常有用。一些常用的彙總函式有以下幾個:
1. COUNT()
COUNT()
函式用於計算符合指定條件的列數目。它可以用於計算所有列或滿足特定條件的列數目。
SELECT COUNT(*) AS total_records FROM employees;
2. SUM()
SUM()
函式用於計算數值列的總和。
SELECT SUM(salary) AS total_salary FROM employees;
3. AVG()
AVG()
函式用於計算數值列的平均值。
SELECT AVG(age) AS average_age FROM students;
4. MAX() 和 MIN()
MAX()
和 MIN()
函式分別用於識別欄中的最大值和最小值。
SELECT MAX(price) AS max_price, MIN(price) AS min_price FROM products;
使用 GROUP BY 分組資料
SQL 中彙總查詢的一個強大功能是能夠使用 GROUP BY
子句根據特定條件對資料進行分組。這有助於分析資料的子集,從而獲得更細緻的結果。
使用 COUNT() 分組
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;
使用 AVG() 分組
SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;
使用 HAVING 篩選群組
HAVING
子句需要與 GROUP BY
一起使用,根據應用於分組資料的條件篩選彙總查詢的結果。
SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;
組合使用多個彙總函式
SQL 允許在單一查詢中組合使用多個彙總函式,以便全面深入瞭解資料。
SELECT department, COUNT(*) AS employee_count, AVG(salary) AS average_salary
FROM employees
GROUP BY department;
在 Navicat 中使用彙總函式
如果你不熟識函式的確切名稱或其輸入參數,可以在 Navicat 編輯器中開始輸入函式名稱,它會顯示一個符合輸入的選項清單,你可以從中選取一個,Navicat 會自動完成該詞語。彙總函式通常用希臘字母 Sigma 符號 (Σ) 表示:
總結
在關聯式資料庫中,彙總 SQL 查詢是資料分析和資料報告不可或缺的工具。無論你是在總結資訊、計算平均值還是根據特定條件分組資料,了解如何利用彙總查詢中的函式和子句(如 GROUP BY 和 HAVING)對於熟習資料庫查詢至關重要。