MySQL——自学笔记Day9

因为被照亮过,所以也想变成光。


聚合函数

1. SQL聚合函数

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

2. AVG()

2.1 代码演示:返回Products表中所有产品的平均价格

SELECT AVG(prod_price) AS avg_price
FROM products;

运行结果:

2.2 说明 

(1)AVG()也可以结合WHERE子句,指定特定的产品求平均值,如:

代码演示:

SELECT AVG(prod_price) AS avg_price
FROM products
WHERE vend_id = 'DLL01';

运行结果:

即:返回Products表中供应商为 ‘DLL01’ 的产品的价格的平均值

3. COUNT()

3.1  代码演示:返回Customers表中顾客的总数

SELECT COUNT(*) AS num_cust
FROM Customers;

运行结果:

 

 3.2 代码演示:只对有电子邮件地址的客户计数

SELECT COUNT(cust_email) AS num_cust
FROM Customers;

运行结果:

 

 4. MAX()

4.1 代码演示:返回prod_price列中的最大值

SELECT MAX(prod_price) AS max_price
FROM Products;

运行结果:

 

5. MIN()

5.1 代码演示:返回Products表中最便宜物品的价格

SELECT MIN(prod_price) AS max_price
FROM Products;

运行结果:

 

6. SUM() 

6.1 代码演示:检索所订购物品的总数

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

运行结果:

 

 6.2 代码演示:计算订单号为20005的总订单金额

SELECT SUM(item_price*quantity) AS total_price
FROM orderitems
WHERE order_num = 20005;

 运行结果:

7. 聚集不同值

7.1 代码演示:返回特定供应商提供的产品的平均价格

SELECT AVG(DISTINCT prod_price) AS avg_price
FROM products
WHERE vend_id = 'DLL01';

 运行结果:

7.2 说明:

(1) DISTINCT不能用于COUNT(*)

(2)DISTINCT可以用于MIN()和MAX(),但是结果上来说都是相同的,并没有什么实际意义。

8.组合聚集函数

8.1 代码演示

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;

 运行结果

8.2 说明

(1)4个语句分别执行了4个不同的聚集计算,返回了4个对应的结果,并无冲突


 总结

        以上就是聚合函数部分的全部内容,这部分内容理解起来不是很难,就是使用平均值、最大值、最小值、求和、计数几个数字特征的使用,但是这部分却是工作中会比较常用的统计方法,所以还是需要多加练习,熟练掌握。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值