Mysql必知必会-汇总数据

本节主要介绍什么是聚集函数以及如何利用它们汇总表的数据。Mysql通常给出以下聚集函数,

聚集函数

在这里插入图片描述

AVG()函数

AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。
需求使用AVG()返回products表中所有产品的平均价格:
语句SELECT AVG(product_price) AS avg_price FROM products ;

返回特定列平均值

AVG()也可以用来确定特定列或行的平均值。
需求:返回特定供应商1003所提供产品的平均价格:
语句:SELECT AVG(product_price) AS avg_price FROM products WHERE ven_id =1003 ;
说明:(1)只用于单列,也就是说用于特定数值列的平均值,而且列名必须作为函数参数给出;为了获取多个列的平均值,必须使用多个AVG值;
(2)NULL值不在统计范围内。

COUNT()函数

COUNT()确定表中行的数目或符合特定条件的行的数目。可以用以下两种使用方式 (1) 使用COUNT()对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。(2) 使用COUNT()对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
需求1 统计顾客数
语句SELECT COUNT() AS custom FROM acustoms ;
该方法是对所有行进行计数,不管各列有什么值。
需求2 只对客户含有电话的进行统计
语句: SELECT COUNT(telphone) AS Phone_Number FROM customers ;
说明如果指定列名,则指定列的值为空的行被COUNT()函数忽略,但如果COUNT()函数中用的是星号(
),则不忽略。

MAX()\MIN()\SUM()

MAX()返回指定列中的最大值\MIN()返回指定列中最小值、SUM()返回指定列值得和。
说明 忽略列值为NULL的。

聚集不同值

以上5个聚集函数都可以如下使用: 对所有的行执行计算,指定ALL参数或不给参数(因为ALL是默认行为); 只包含不同的值,指定DISTINCT参数。ALL为默认 ALL参数不需要指定,因为它是默认行为。如果不指定DISTINCT,则假定为ALL。
ALL为默认 ALL参数不需要指定,因为它是默认行为。如果不指定DISTINCT,则假定为ALL。
在这里插入图片描述

组合聚集函数

目前为止的所有聚集函数例子都只涉及单个函数。但实际上SELECT语句可根据需要包含多个聚集函数。请看下面的例子:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值