【MySQL】汇总数据


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

  1. 确定表中行数;
  2. 获得表中行组的和;
  3. 找出表列的最大值、最小值和平均值。

SQL聚集函数

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

AVG()

  • AVG()只能用来确定特定数值列的平均值,且列名必须作为函数的参数给出。
  • 为了获得多个列的平均值,必须使用多个AVG()函数。
  • AVG()函数忽略列值为NULL的行。
SELECT AVG(prod_price) ASavg_price 
FROM products;

COUNT()

  • 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
  • 使用COUNT(column)对特定列中具有值得行进行计数,忽略NULL值。
SELECT COUNT(cust_email) AS num_cust 
FROM customers;

MAX()与MIN()

  • 在用于文本数据时,如果数据按照相应的列排序,则MAX()返回最后一行,MIN()返回最前面的行。
  • MAX()与MIN()忽略列值为NULL的行。

SUM()

  • 用来返回指定列值的和。
  • 利用标准的算术操作符,所有聚集函数都可用来执行多个列上的计算。
SELECT SUM(item_price*quantity) AS total_price 
FROM orderitems 
WHERE order_num = 20005;

聚集不同值

  • 对所有的行执行计算,指定ALL参数或不给参数(ALL为默认);
  • 只包含不同的值,指定DISTINCT参数。
# 该例子平均值只考虑各个不同的价格
SELECT AVG(DISTINCT prod_price) AS avg_price 
FROM products 
WHERE vend_id = 1003;

DISTINCT必须使用列名,不能用于计算或表达式。

组合聚集函数

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;

聚集函数是高效设计的,他们返回结果一般比在客户机应用程序中计算要快得多。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

随处可见的打字员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值