聚集函数

我们经常需要汇总数据而不是把它们的实际检索出来,为此MySQL提供了专门的聚集函数。

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

 

 

1、AVG()函数——通过队列表中的行数计数,并计算特定列值之和,求得该列的平均值

AVG函数忽略列值为NULL的行

SELECT AVG(prod_price) AS avg_price FROM products

 

2、COUNT()函数——确定表中行的数目或符合特定条件的行的数目

COUNT(*)是对表中的行数进行计数,不管表中的列包含的是空值还是NULL

COUNT(colum)对特定列中具有值的行进行计数,忽略NULL值

SELECT COUNT(*) AS num_cust FROM customers

 下面例子只针对具有电子邮件的客户计数

SELECT COUNT(cust_email) AS num_cust FROM customers

 

3、MAX()函数——返回列中的最大值

      MIN()函数——返回列中的最小值

     它们都忽略列值为NULL的行

SELECT MAX(prod_price) AS max_price FROM products
SELECT MIN(prod_price) AS max_price FROM products

 

4、SUM()函数——返回指定列值的和

忽略列值为NULL的行

SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num = 20005

 

5、DISTINCT关键字——聚集不同值

对于聚集函数如果只想计算列值不同的行,需要用到关键字DISTINCT,它的后面必须指定列名

如下,只是计算不同年龄的平均值

SELECT AVG(DISTINCT prod_price) AS avg_price FROM products WHERE vend_id = 1003

 

6、组合聚集函数

实际上SELECT语句可根据需要包含多个聚集函数

SELECT  COUNT(*) AS num_items,
        AVG(prod_price) AS price_avg,
        MIN(prod_price) AS price_min,
		MAX(prod_price) AS price_max
		FROM products

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值