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

本文深入讲解了SQL中的聚集函数,包括AVG、COUNT、MAX、MIN和SUM的使用方法及应用场景,介绍了如何利用这些函数汇总表中的数据,适用于数据分析和报表生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一、聚集函数

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

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

聚集函数(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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值