基础 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;
使用 AVR() 分组
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 中使用聚合函数
如果你不确定函数的准确名字或其输入参数,你可以在 SQL 编辑器中输入一部分,然后 Navicat 将显示一个匹配项的列表,你可以从中选择一个,Navicat 会动补全语句。聚合函数是用希腊 Sigma 符号表示 (Σ):
总结
聚合 SQL 查询是在关系数据库中数据分析和数据报告的不可或缺的工具。无论你是要汇总信息、计算平均值,或是基于特定条件分组数据,了解如何利用聚合函数以及像 GROUP BY
和 HAVING
这样的子句,对于熟练的数据库查询是至关重要的。