一、基础统计
在进行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/n/349321.html