统计每天的均值 如果是16-18日 17号没有数据则用0补充

$list = aa::wherewhere(function (Query $q) use ($param){
                $edate = $param['date'][1]." 23:59:59";
                $q->whereBetween("add_time",[$param['date'][0],$edate]);
            })
            ->field("DATE_FORMAT(add_time,'%Y-%m-%d') times,
                        CAST(AVG(correct) AS DECIMAL(10,2)) AS correct
                    ")
            ->group('times')
            ->order("times asc")
            ->select()->each(function ($rt){
                $rt['correct'] = $rt['correct'] + 0;
            })->toArray();
        $sdate = $param['date'][0];
        $edate = $param['date'][1];
        $begintime = strtotime($sdate);$endtime = strtotime($edate);
        $today = [];
        for ($start = $begintime; $start <= $endtime; $start += 24 * 3600) {
            $today[] = date("Y-m-d", $start);
        }
        $info = [];
        foreach ($today as $int => $i) {
            $item = [
                'times' => $i,
                'correct'   => 0,
            ];
            if(!empty($list)){
                foreach ($list as $k => $v) {
                    // 这条是这天的则赋值
                    if ($i == $v['times']) {
                        $item['correct'] = $v['correct'];
                    }
                }
            }
            $info[]      = $item;
        }
        halt($info)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值