SQL聚合函数

在本教程中,您将了解SQL聚合函数,包括:AVG()COUNT()MIN()MAX()SUM()

SQL聚合函数计算一组值并返回单个值。 例如,平均函数(AVG)采用值列表并返回平均值。

因为聚合函数对一组值进行操作,所以它通常与SELECT语句的GROUP BY子句一起使用。 GROUP BY子句将结果集划分为值分组,聚合函数为每个分组返回单个值。

SELECT c1, aggregate_function(c2)
FROM table
GROUP BY c1;

以下是常用的SQL聚合函数:

  • AVG() – 返回集合的平均值。
  • COUNT() – 返回集合中的项目数。
  • MAX() – 返回集合中的最大值。
  • MIN() – 返回集合中的最小值
  • SUM() – 返回集合中所有或不同值的总和。

COUNT()函数外,SQL聚合函数忽略null值。只能将聚合函数用作表达式,如下所示:

  • SELECT语句的选择列表,子查询或外部查询。
  • 一个HAVING子句

1. AVG()函数

AVG()函数返回集合中的平均值,以下是AVG()函数的语法:

AVG( ALL | DISTINCT)

ALL关键字指示AVG()函数计算所有值的平均值,而DISTINCT关键字强制函数仅对不同的值进行操作。 默认情况下,使用ALL选项。

以下示例演示如何使用AVG()函数计算每个部门的平均工资:

SELECT 
    department_name, ROUND(AVG(salary), 0) avg_salary
FROM
    employees
        INNER JOIN
    departments USING (department_id)
GROUP BY department_name
ORDER BY department_name;

执行上面示例代码,得到以下结果 –
《SQL聚合函数》

2. MIN()函数

MIN()函数返回集合的最小值。 以下是MIN()函数的语法:

MIN(column | expression)

例如,以下语句返回每个部门中员工的最低工资:

SELECT 
    department_name, MIN(salary) min_salary
FROM
    employees
        INNER JOIN
    departments USING (department_id)
GROUP BY department_name
ORDER BY department_name;

执行上面示例代码,得到以下结果 –

《SQL聚合函数》

3. MAX()函数

MAX()函数返回集合的最大值,MAX()函数具有以下语法:

MAX(column | expression)

例如,以下语句返回每个部门中员工的最高薪水:

SELECT 
    department_name, MAX(salary) highest_salary
FROM
    employees
        INNER JOIN
    departments USING (department_id)
GROUP BY department_name
ORDER BY department_name;

执行上面示例代码,得到以下结果 –

《SQL聚合函数》

4. COUNT()函数

COUNT()函数返回集合中的项目数。 以下显示了COUNT()函数的语法:

COUNT ( [ALL | DISTINCT] column | expression | *)

例如,以下示例使用COUNT(*)函数返回每个部门的人数:

SELECT 
    department_name, COUNT(*) headcount
FROM
    employees
        INNER JOIN
    departments USING (department_id)
GROUP BY department_name
ORDER BY department_name;

执行上面示例代码,得到以下结果:

《SQL聚合函数》

5. SUM()函数

SUM()函数返回所有值的总和。 以下说明了SUM()函数的语法:

SUM(ALL | DISTINCT column)

例如,以下语句返回每个部门中所有员工的总薪水:

SELECT 
    department_id, SUM(salary)
FROM
    employees
GROUP BY department_id;

执行上面示例代码,得到以下结果:

《SQL聚合函数》

在本教程中,您学习了最常用的SQL聚合函数,包括:AVG()COUNT()MIN()MAX()SUM()函数。

        原文作者:SQL教程
        原文地址: https://www.yiibai.com/sql/sql-aggregate-functions.html
        本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
    点赞