美文网首页《mysql必知必会》笔记
Mysql语法之汇总数据,聚集函数

Mysql语法之汇总数据,聚集函数

作者: etron_jay | 来源:发表于2019-08-04 16:38 被阅读3次

    什么是SQL的聚集函数以及如何利用他们汇总表的数据。

    一、聚集函数

    我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数。使用这些函数,<u>MySQL查询可用于检索数据,以便分析和报表生成。</u>

    重复一遍,实际想要的是汇总信息。

    聚集函数(aggregate function) 运行在行组上,计算和返回单个值的函数

    函数 说明
    AVG() 返回某列的平均值
    COUNT() 返回某列的行数
    MAX() 返回某列的最大值
    MIN() 返回某列的最小值
    SUM() 返回某列值之和

    1.AVG()函数

    可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。

    mysql>select AVG(prod_price) AS avg_price from products;

    mysql>select AVG(prod_price) AS avg_price from products where vend_id = 1003;

    2. COUNT()函数

    可用来确定表中行的数目或符合特定条件的行的数目。

    • 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值
    • 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。

    mysql>select COUNT(*) AS num_cust from customers;

    mysql>select COUNT(cust_email) AS num_cust from customers;

    3.MAX()函数

    返回列中的最大值。MAX()要求指定列名。

    mysql>select MAX(prod_price) AS max_price from products;

    一般用此函数找出最大值或日期值,当用于文本数据时,如果数据按相应的列排序,则MAX()返回最后一行。

    自动忽略列值为NULL的行。

    4.SUM()函数

    用来返回指定列值的和(总计)

    mysql>select SUM(quantity) AS items_ordered from orderitems where order_num = 20005;

    二、聚集不用值

    以上5个聚集函数都可以如下使用:

    • 对所有的行执行计算,指定ALL参数或不给参数(因为ALL是默认行为)
    • 只包含不同的值,指定DISTINCT参数

    mysql> select AVG(DISTINCT* prod_price) AS avg_price from products where vend_id = 1003;*

    三、组合聚集函数

    mysql>select COUNT(*) AS num_items,

    MIN(prod_price) AS price_min,

    MAX(prod_price) AS price_max,

    AVG(prod_price) AS price_avg

    from products;

    相关文章

      网友评论

        本文标题:Mysql语法之汇总数据,聚集函数

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