目录

  1. SQL AVG() 函数简介
  2. SQL AVG() 函数的语法
  3. SQL AVG() 函数的使用示例
  4. 注意事项
  5. 参考资料

SQL AVG() 函数简介

AVG() 函数是一个聚合函数,用于计算数值列的平均值。它忽略 NULL 值,只对包含有效数值的记录进行计算。AVG() 函数通常用于报告和分析中,比如计算员工的平均工资、产品的平均价格等。

  • 数据类型AVG() 函数通常用于数值数据类型,如 INTDECIMALFLOAT 等。
  • 返回类型:返回值的数据类型取决于列的数据类型。如果列为整数类型,返回结果可能会是浮动点数类型以保留小数。

SQL AVG() 函数的语法

AVG(expression)

参数说明:

  • expression:可以是数值列、表达式或用于计算平均值的字段。表达式可以包括 SUM()COUNT() 等其他聚合函数或计算。

返回值:

  • 返回指定列或表达式的平均值,忽略 NULL 值。

SQL AVG() 函数的使用示例

示例 1:计算员工表中所有员工的平均工资

SELECT AVG(salary) AS average_salary
FROM employees;

该查询将计算 employees 表中所有员工的平均工资,忽略 salary 列中的 NULL 值。

示例 2:计算某部门员工的平均工资

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

该查询将计算每个部门员工的平均工资,结果将按 department 分组。

示例 3:计算产品价格的平均值

SELECT AVG(price) AS average_price
FROM products
WHERE category = 'Electronics';

该查询计算 products 表中属于 “Electronics” 类别的所有产品的平均价格。

示例 4:计算某日期之后订单的平均金额

SELECT AVG(order_amount) AS average_order_amount
FROM orders
WHERE order_date > '2025-01-01';

该查询将计算在 2025-01-01 之后所有订单的平均金额。


注意事项

  1. NULL 值的处理AVG() 函数会忽略 NULL 值,只对非 NULL 的数值进行计算。
  2. 数据类型AVG() 函数返回结果的数据类型通常为浮动点数,即使输入数据为整数类型。
  3. 性能问题:当计算大量数据时,AVG() 函数的执行速度可能会受到影响,尤其是在没有索引的情况下。

参考资料