MySQL的常用聚合函数


聚合函数作用于一组数据,并对一组数据返回一个值。MySQL中常用的聚合函数有,

  1. AVG()
  2. SUM()
  3. MAX()
  4. MIN()
  5. COUNT()

AVG()和SUM()

SELECT AVG(salary),SUM(salary),SUM(salary)/107 
FROM employees;-- 返回6461.682243 691400.00 6461.682243

MAX()和MIN()

SELECT MAX(salary),MIN(salary)
FROM employees; -- 返回24000.00	2100.00

COUNT()

COUNT(),计算指定字段在查询结构中出现的次数。

SELECT COUNT(employee_id),COUNT(salary),COUNT(2*salary),COUNT(1),COUNT(2),COUNT(*)
FROM employees;  -- 返回107 107 107 107 107 107

查询数据表中有多少行记录,可以使用以下任意方式:

  1. COUNT(*),如SELECT COUNT(*) FROM employees;
  2. COUNT(1),如SELECT COUNT(1) FROM employees;
  3. COUNT(具体字段),如SELECT COUNT(employee_id) FROM employees;
    注意,如果字段值为空,则不会被计算在内

以上三种方式的执行效率也存储引擎有关。
如果使用的存储引擎是MyISAM,则三者执行效率相同。
如果使用的存储引擎是InnoDB,则三者执行效率不同,COUNT(*)=COUNT(1)>COUNT(具体字段)

# 使用COUNT()计算指定字段出现的次数时,是不计算空值的。
SELECT COUNT(commission_pct)
FROM employees; -- 返回35

SELECT commission_pct
FROM employees
WHERE commission_pct IS NOT NULL; -- 返回35行记录
# AVG = SUM / COUNT
SELECT AVG(salary),SUM(salary)/COUNT(salary)
FROM employees; -- 返回 6461.682243	6461.682243

SELECT AVG(commission_pct),SUM(commission_pct)/COUNT(commission_pct),SUM(commission_pct)/COUNT(*)
FROM employees; -- 返回 0.222857	0.222857	0.072897
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值