mysql怎么在一段时间区间内按照周分组,把属于一周的数据汇总在一起以及如何自定义周?

        小编在写需求的时候发现有一个需求是给出一个开始、起止时间,需要你把每一周的数据汇总然后展现出来,比如给了前四周的日期,需要你自动汇总第一周到第四周的数据,奇葩的来了,正常来说周一到周日为一周,或者周日到周六为一周,但是产品需要周六到周五算一周。

        由于数据是从数据中台一个接口出的,这个接口负责出所有的sql图表数据,所以想通过sql完成这件事,当然sql是很复杂的,只是其中这个点比较头疼,本来按照正常的自然周来算,我们可以使用DATE_FORMAT('2022-10-09','%u')(周一为起始周),或者使用WEEK(date, mode)来指定周日为起始周或者周一为起始周。但是怎么指定周六到周五一周呢?

SELECT week(FROM_DAYS(TO_DAYS('2022-10-09'))+1,0) 可以使用week函数,原本week(date,0)意思是周日为一周的开始,所以只需要给data加上偏移量就行了,我的需求是周六为一周的开始,所以只需要周六往后挪一天就到周日了,就可以按照这样分组。

 可以看最终结果周六到周五的数据就放到一周里面了,数字代表本年的第几周

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值