MySQL数据库基础——4.聚集函数、数据分组和子查询

本文介绍了MySQL数据库中的聚集函数,包括avg()、count()、max()、min()和sum(),以及如何计算不同值。接着讲解了数据分组的概念,如何创建、过滤和排序分组,并提到了rollup关键字的应用。最后,讨论了子查询的使用,包括在过滤和计算字段中的应用,以及相关子查询的概念。

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

一 聚集函数

实际应用中,经常需要汇总数据而不用把它们实际检索出来,MySQL中提供了专门的函数,使用这些函数可以方便的完成以下应用场景:

  • 确定表中行数(或者满足某个条件或包含某个特定值的行数)。
  • 获得表中行组的和。
  • 找出表列(或所有行或某些特定的行)的最大值、最小值和平均值。

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

 

 1.avg()函数

通过对表中行数计数并计算特定列值之和,求得该列的平均值。avg()可以用来返回所有列的平均值,也可以用来返回特定列或行的平均值。

select avg(prod_price) as avg_price from products;

上面语句使用avg()返回products表中所有产品的平均价格。

select avg(prod_price) as avg_price from products where vend_id = 1003;

上面语句返回特定供应商所提供产品的平均价格。

注意:1.avg()只能用来确定特定数值列的平均值,列名必须作为函数参数给出,如果要获得多个列的平均值,应该使用多个该函数。

2.avg()将忽略列值为NULL的行。

 2.count()函数

用来计数。可以利用count()确定表中行的数目或符合特定条件的行的数目。一共有两种使用方式:

  • 使用count(*)对表中行的数目进行计数,无论表列中包含的是NULL还是非空值。
  • 使用count(column)对特定列中具有值得行进行计数,忽略NULL。
select count(*) as num_cust from customers;

这个语句将返回customers表中客户总数,计数值在num_cust中返回。

select count(cust_email
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值