sql语法--分类汇总group by having

(一)group by having 使用场景

group by having 实现对数据的分类汇总,因此 group by 主要和统计类型计算函数一起使用,例如:count(),sum()等,而 having 是对我们统计的结果集再进行筛选,得到我们最后需要得到的数据集。不需要对统计的结果集 having 不则需要使用。

	-- 按照员工编号统计员工在9月份的总工时、最长工作时间和工作天数
	-- 然后筛选出总工时《176小时的员工
      select
        d.userId 员工编号,
        d.userName as 员工名称,
        sum(d.workTime) AS 总工时,
        max(d.workTime) AS 最长工作时间,
        count(d.dayTime) AS  工作天数
	  from 
        user_work d
      where
		  d.createTime between "2020-09-01" and "2020-09-30"
       group by userId 
       having 总工时 < 176  
	-- 按照员工编号统计员工在9月份的工作天数
      select
        d.userId 员工编号,
        d.userName as 员工名称,
        count(d.dayTime) AS  工作天数
	  from 
        user_work d
      where
		  d.createTime between "2020-09-01" and "2020-09-30"
       group by userId 

(二)group by 去重

	-- 统计9月份有哪些员工上班了
      select
        d.userId 员工编号,
        d.userName as 员工名称
	  from 
        user_work d
      where
		  d.createTime between "2020-09-01" and "2020-09-30"
       group by userId 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值