MySQL之汇总数据

1、聚集函数

聚集函数是运行在行组上,计算和返回单个值的函数。

SQL聚集函数
函数说明
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()返回某列的最小值
SUM()返回某个列之和
(1)、AVG()函数
可以返回所有列的平均值,也可以返回特定列的平均值。
[sql]  view plain  copy
  1. SELECT AVG(prd_price) AS avg_price FROM products  
  2. Where vend_id=1003;  

将过滤出vend_id=1003的产品,avg_price是这些产品的平均值.
只用于单个列:AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出,为获得多个列的平均值,必须使用多个AVG()函数。
(2)、COUNT()函数
SELECT COUNT(*) AS num_cust FROM customers;
COUNT(*)对表中行的数目进行计数,不管表列中包含的是空(NULL)还是非空值;
COUNT(column)对特定列中有值的行进行计算, 忽略NULL值。
(3)、MAX()函数
MAX()返回指定列的最大值,要求指定列名,忽略NULL值。
在MySQL中,MAX()函数可以对非数据列使用,在用于文本数据时,如果数据按相应的列排序,MAX()返回最后一行。
(4)、MIN()函数
MIN()返回指定列的最小值,要求指定列名,忽略NULL值。
在MySQL中,MIN()函数可以对非数据列使用,在用于文本数据时,如果数据按相应的列排序,MIN()返回最前面的一行。
(5)、SUM()函数
用来返回指定列的和(总计),忽略NULL值的行。
[sql]  view plain  copy
  1. SELECT SUM(num) AS prod_sum---返回指定订单号中的商品数量  
  2. FROM products  
  3. Where order_id=123456;  
SUM()也可以合计计算值。
[sql]  view plain  copy
  1. SELECT SUM(item_price*num) AS totol_price FROM order_items--返回订单中所有商品价格和。  
  2. Where order_id=123456;  

2、聚集不同值

DISTINCT关键字
如下面的SQL将返回vend_id=1003的不同价格商品的平均值
[sql]  view plain  copy
  1. SELECT AVG(DISTINCT prd_price) AS avg_price FROM products  
  2. Where vend_id=1003;  
注意:如果指定列名,则DISTINCT 只能用于COUNT(),不能用于COUNT(*)。

3、组合聚集函数

聚集函数可以组合使用
[sql]  view plain  copy
  1. SELECT count(*) AS num,  
  2.             MIN(prod_price) AS price_min,  
  3.             MAX(prod_price) AS price_max,  
  4.             AVG(prod_price) AS price_avg  
  5. FROM products;  


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金州饿霸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值