mysql分组查询

概念

分组查询主要是用来统计的,一般都是按照某一个列进行统计分组

统计类型:求平均,求最大,求最小,求和等等

分组查询需要结合分组函数一起完成,常用的分组函数:

COUNT(参数):统计查询语句返回的行数

MAX(参数):求最大

MIN(参数):求最小

AVG(参数):求平均

SUM(参数):求和

参数:一般都是列名,但是count() 的参数还可以是 * 和 1

注意

当参数是具体的列名的时候,函数会自动过滤掉列中为空值的情况,特别是 COUNT(), 参数是列名,就只统计列名非空的情况;如果是count(*),COUNT(1)既是是空行,也会被 统计进去。

语法:

关键字:  

按照 *** 分组: GROUP BY 列名,列名2,....

分组之后进行数据过滤: HAVING

SELECT 分组函数,被分组列名 FROM 表名(1个或者多个)[WHERE 连接条件] GROUP BY 1个或者多个列名 [HAVING 过滤条件]

例如:

统计每个部门的员工人数,及平均薪水;(按照部门编号进行分组统计,每个部门的人 数和平均薪水)注意按照 *** 进行分组 :  GROUP BY ***

SELECT COUNT(*),AVG(sal),deptno FROM emp GROUP BY deptno;

按照部门编号和岗位进行分组统计,统计的是每个部门每个岗位的人数和平均薪水,仅保留人数超过2个人的部门和岗位信息

SELECT COUNT(*),AVG(sal),deptno,job FROM emp GROUP BY deptno,job HAVING COUNT(*)>=2;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值