美文网首页
SQL 聚合函数

SQL 聚合函数

作者: 山药鱼儿 | 来源:发表于2022-03-16 23:00 被阅读0次

聚合函数用于汇总表的数据,比如求和、计数、求某列的平均值等等。SQL 中一共包含了 5 个聚合函数,这些聚合函数与上一篇我们提到的文本处理函数、日期时间函数不同,SQL 聚合函数在主要的 DBMS 中具有相当一致的支持。

下面,我们依次来学习这 5 个 SQL 聚合函数吧~

AVG 函数

函数 AVG() 用来返回所有列的平均值,也可以用来返回特定列或行的平均值。如下 SQL 返回商品表中所有产品的平均价格,其中商品表如下:

查询所有商品的平均价格:

SELECT
    AVG( prod_price ) AS avg_price
FROM
    Products;

商品价格的聚合结果:

此外,AVG 结合 WHERE 子句也可以返回特定行的平均值。以下 SQL 返回供应商 DLL01 所提供的产品的平均价格。

SELECT
    AVG( prod_price ) AS avg_price 
FROM
    Products 
WHERE
    vend_id = 'DLL01';

聚合结果:

注:AVG 计算均值时,忽略值为 NULL 的行。

COUNT 函数

函数 COUNT() 用于计数,使用 COUNT() 可以确定表中行的数目或符合特定条件的行的数目。

如下 SQL 返回顾客表中顾客的总数,其中顾客表如下:

SQL 语句:

SELECT
    COUNT( * ) 
FROM
    Customers;

聚合结果:

其中 COUNT(*) 对所有行计数。下面只统计填写了 Email 地址的顾客数量。

SELECT
    COUNT(cust_email) AS num_cust
FROM
    Customers;

聚合结果:

注:COUNT(*) 在计数时不会忽略值为 NULL 的行;COUNT() 在传入列名时,会忽略指定列为 NULL 的行。

MAX 函数

函数 MAX() 要求指定列名,返回列中的最大值。如下的 SQL 返回产品表中最贵物品的价格。

SELECT
    MAX( prod_price ) AS max_price 
FROM
    Products;

聚合结果:

注:MAX() 函数求最大值时忽略值为 NULL 的行。

MIN 函数

MINMAX 相反,求出指定列的最小值。如下的 SQL 返回商品表中最廉价产品的价格。

SELECT
    MIN( prod_price ) AS min_price 
FROM
    Products;

聚合结果:

注:MIN() 函数求最小值时忽略值为 NULL 的行。

SUM 函数

SUM 函数对指定列进行求和。我们以订单表说明 SUM 函数的使用。

其中 quantity 为订单包含的某种商品的数量。如下的 SQL 计算订单 20005 一共购买了多少件商品。

SELECT
    SUM( quantity ) AS sum_quantity 
FROM
    OrderItems 
WHERE
    order_num = '20005';

聚合结果:

此外,还可以计算订单 20005 的总金额:

SELECT
    SUM( quantity * item_price ) AS sum_quantity 
FROM
    OrderItems 
WHERE
    order_num = '20005';

计算结果:

注:SUM 函数忽略列值为 NULL 的行。

此外,聚合时还允许先去重。比如,计算供应商 DLL01 定价的平均水平,这是就需要先进行去重,再计算平均值。

SELECT
    AVG( DISTINCT prod_price ) AS avg_price 
FROM
    Products 
WHERE
    vend_id = 'DLL01';

聚合结果:

最后,在一个 SELECT 语句中也可以包含多个聚合函数。下面的查询语句就包含了 4 个聚合函数。

SELECT
    COUNT( * ) AS num_items,
    MIN( prod_price ) AS min_price,
    MAX( prod_price ) AS max_price,
    AVG( prod_price ) AS avg_price 
FROM
    Products;

聚合结果:

小结

聚合函数用于数据汇总,SQL 支持 5 个聚合函数,聚合函数除了单独使用,最常见的场景是结合分组,即分组聚合。我们下节见~

相关文章

  • 04 - 聚合与排序

    聚合函数 聚合函数 通过 SQL 对数据进行某种操作或计算时需要使用函数。用于汇总的函数称为聚合函数或者聚集函数聚...

  • SQL之GROUP BY & HAVING

    聚合函数 From CSDN 叶子 一、Sql Server 中有哪些聚合函数? 提到聚合函数大家一定会首先想到最...

  • SQL聚合函数

    1 SQL中的聚合函数 2.GROUP BY语句   GROUP BY语句用来与聚合函数(aggregate fu...

  • SQL内置函数使用手册

    SQL中有很多特别棒的内置函数。本文SQL内置函数手册中总结了SQL中常用的内置函数,包含通用聚合函数、安全检测函...

  • 第九章 SQL聚合函数 MIN

    第九章 SQL聚合函数 MIN 返回指定列中的最小数据值的聚合函数。 大纲 参数 ALL - 可选-将聚合函数应用...

  • SQL聚合函数

    count(*)总数 max最大值 min最小值 sum求和 avg平均值(默认4位小数) round四舍五入

  • sql 聚合函数

    emp 表,有14条记录,其中 deptno 有重复字段,comm 字段有的为 null: emp: enames...

  • SQL 聚合函数

    聚合函数用于汇总表的数据,比如求和、计数、求某列的平均值等等。SQL 中一共包含了 5 个聚合函数,这些聚合函数与...

  • 第八章 SQL聚合函数 MAX

    第八章 SQL聚合函数 MAX 返回指定列中最大数据值的聚合函数。 大纲 参数 ALL - 可选-将聚合函数应用于...

  • MySQL-SQL基本查询

    SQL查询 执行顺序 where ... group by ... select ... 聚合函数 from .....

网友评论

      本文标题:SQL 聚合函数

      本文链接:https://www.haomeiwen.com/subject/ofkmdrtx.html