信息发布→ 登录 注册 退出

SQL SELECT 如何使用聚合函数计算?

发布时间:2025-09-29

点击量:
SQL中聚合函数如COUNT、SUM、AVG、MAX、MIN用于统计计算,常与GROUP BY和HAVING配合使用;2. COUNT(*)统计所有行,COUNT(列名)忽略NULL,SUM求和、AVG求平均值均忽略NULL;3. MAX和MIN返回最大最小值;4. 使用GROUP BY按列分组统计,HAVING对分组结果筛选;5. 示例包括统计员工数、工资总和、平均工资及按部门分组查询。

在 SQL 中,SELECT 语句结合聚合函数可以对数据进行统计计算。常见的聚合函数包括 COUNT()SUM()AVG()MAX()MIN()。这些函数用于对一组值返回单个结果。

基本语法结构

SELECT 聚合函数(列名) FROM 表名 [WHERE 条件] [GROUP BY 分组列] [HAVING 分组筛选];

注意:聚合函数通常与 GROUP BY 搭配使用,以便按类别分组统计。若不使用 GROUP BY,则整个表视为一组。

COUNT() - 统计行数

用于统计记录数量。

  • COUNT(*):统计所有行,包含 NULL 值。
  • COUNT(列名):只统计该列非 NULL 的行数。

例如,统计员工总数:

SELECT COUNT(*) AS total_employees FROM employees;

SUM() - 求和

计算某数值列的总和,忽略 NULL 值。

例如,计算所有员工工资总和:

SELECT SUM(salary) AS total_salary FROM employees;

AVG() - 计算平均值

求某数值列的平均值。

例如,获取平均工资:

SELECT AVG(salary) AS avg_salary FROM employees;

MAX() 与 MIN() - 最大值和最小值

分别返回某列的最大值和最小值。

例如,查找最高和最低工资:

SELECT MAX(salary) AS max_salary, MIN(salary) AS min_salary FROM employees;

结合 GROUP BY 分组统计

若要按某个字段分组统计,使用 GROUP BY。

例如,按部门统计平均工资:

SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department;

如果需要对分组结果进一步筛选(如只显示平均工资高于 8000 的部门),使用 HAVING:

SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department HAVING AVG(salary) > 8000;

基本上就这些。聚合函数让数据汇总变得简单直接,关键是理解它们如何与 GROUP BY 和 HAVING 配合使用。

标签:# 聚合函数  # sql  # NULL  # count  # select  # 平均工资  # 最小值  # 常与  # 行数  # 只显示  # 按部  # 若不  # 若要  # 最低工资  # img  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!