一、基礎統計
在進行SQL數據操作時,最常見也是最基礎的統計就是求平均值、求總數、最大值和最小值。例如:
SELECT AVG(salary) AS average_salary, COUNT(*) AS total_employees, MAX(salary) AS max_salary, MIN(salary) AS min_salary FROM employees;
這個查詢語句將返回員工薪水的平均值、總數、最大值和最小值。
為了更好的理解上述查詢語句,我們可以解析一下:
AVG(salary)
返回員工薪水的平均值COUNT(*)
返回員工的總數MAX(salary)
返回員工薪水的最大值MIN(salary)
返回員工薪水的最小值
二、分組統計
分組統計是指在SQL中根據一列或多列的值對數據進行分類並進行統計。例如:
SELECT department_id, COUNT(*) AS total_employees FROM employees GROUP BY department_id;
該查詢語句將返回每個部門的員工數。
在這個查詢語句中,GROUP BY
子句用於指定分組依據,而 COUNT(*)
用於統計每個部門中員工的數量。
分組統計還可以與其他聚合函數一起使用,例如:
SELECT department_id, AVG(salary) AS average_salary, COUNT(*) AS total_employees FROM employees GROUP BY department_id;
該查詢語句將返回每個部門的平均薪水和員工數量。
三、條件統計
條件統計是指在SQL中對符合特定條件的行進行統計。例如:
SELECT COUNT(*) AS total_employees, SUM(salary) AS total_salary FROM employees WHERE salary > 5000;
該查詢語句將返回薪水大於5000的員工數量和總薪水。
在這個查詢語句中,WHERE
子句用於指定篩選條件,而 COUNT(*)
和 SUM(salary)
分別用於統計符合條件的員工數量和薪水總和。
四、連接統計
連接統計是指在SQL中對兩個或多個表進行連接,並進行統計。例如:
SELECT departments.department_name, COUNT(*) AS total_employees FROM departments JOIN employees ON departments.department_id = employees.department_id GROUP BY departments.department_name;
該查詢語句將返回每個部門的員工數量及其所屬的部門名稱。
在這個查詢語句中,使用了兩個表:employees和departments。通過JOIN
子句將他們連接起來,然後再使用GROUP BY
指定依據部門名稱進行分組統計。
五、嵌套查詢統計
嵌套查詢統計是指在SQL中內嵌一個查詢語句進行統計。例如:
SELECT department_name, COUNT(*) AS total_employees FROM departments WHERE department_id IN (SELECT department_id FROM employees WHERE salary > 5000) GROUP BY department_name;
該查詢語句將返回薪水大於5000的部門中員工數及其所屬的部門名稱。
在這個查詢語句中,WHERE
子句用於指定篩選條件。內嵌的查詢語句SELECT department_id FROM employees WHERE salary > 5000
返回薪水大於5000的員工所在的部門ID列表。然後使用IN
子句將其作為部門ID的取值範圍進行篩選,最後使用GROUP BY
指定依據部門名稱進行分組統計。
原創文章,作者:UUJEZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/349321.html