数据库的group by分组和having筛选

之前介绍了

接下来说一下数据库中的group by分组和having筛选

  • group by:分组
    • 某一列(字段)和多行函数是无法同时使用的。因为多行函数是将所有的结果计算成一行,而某一列(字段)查询出来的结果可能是多行。
    • 除非对列使用了分组
    • 我们可以如果我们想要获取某一组中的多行函数。例如获取每个部门的平均薪资,select avg(薪资) from 表名 group by 部门;
  • having:筛选
    • 对进行分组的内容,我们可以再加类似where的条件进行筛选。
    • 要求:对部门进行分组之后,获取这个部门的平均薪资,并且输出平均薪资大于2000的那部分。
      • select 部门编号, avg(薪资) from 表名 group by 部门 having avg(薪资)>2000;
    • 其实有时候having可以和where进行替换。
    • 要求:查询部门编号大于10的部门平均薪资。
      • where版本(分组前进行过滤):select 部门编号, avg(薪资) from 表名 where 部门编号>10 group by 部门编号;
      • having版本(分组后进行过滤):select 部门编号, avg(薪资) from emp group by 部门编号 having 部门编号>10;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值