MySQL数据库数据按月、按周分组

有如下每日数据,如何按月、按周统计出具体数据?

PHP代码实现,核心是调用MySQL数据库提供的DATE_FORMAT()函数格式化时间(也可以是时间戳),变成自己想要的时间格式,再进行分组,最后再统计结果。

        // 按月分组
        $month_counts = Db::query('select DATE_FORMAT(date,"%Y-%m") as month,group_concat(count) as counts from jjb_user_count group by DATE_FORMAT(date,"%Y-%m");');
        foreach ($month_counts as &$value){
            $explodes = explode(",", $value['counts']);
            $value['counts'] = array_sum($explodes);
        }
        
        // 按周分组
        $week_counts = Db::query('select DATE_FORMAT(date,"%Y-%u") as week,group_concat(count) as counts from jjb_user_count group by DATE_FORMAT(date,"%Y-%u");');
        foreach ($week_counts as &$value){
            $explodes = explode(",", $value['counts']);
            $value['counts'] = array_sum($explodes);
        }
        

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值