php 年月日 分组分页

//年月日 //分组 分页
        $type = $this->request->type;
        $dateType = "%Y-%m";//月
        $dateType1 = "CONCAT(tmp.date,'-01 00:00:00')";
        $dateType2 = "CONCAT(LAST_DAY(CONCAT(tmp.date, '-15')),' 23:59:59')";
        if ($type == 'day') {//日
            $dateType = "%Y-%m-%d";
            $dateType1 = "CONCAT(tmp.date,' 00:00:00')";
            $dateType2 = "CONCAT(tmp.date,' 23:59:59')";
        }elseif ($type == 'year') {//年
            $dateType = "%Y";
            $dateType1 = "CONCAT(tmp.date,'-01-01 00:00:00')";
            $dateType2 = "CONCAT(tmp.date,'-12-31 23:59:59')";
        }

        $sql = "SELECT (
                    SELECT CONCAT(sum(go.pv),'-',sum(go.buy_money),'-',count(go.id),'-',sum(go.number)) FROM orders go WHERE go.uid IN (
                        SELECT id FROM user WHERE recommend_path LIKE concat(u.recommend_path,',',u.id,',%') OR recommend_uid = u.id
                    ) AND go.pay_time >= {$dateType1} AND go.pay_time <= {$dateType2} {$whereGroupOrderSql}
                ) as group_total, (
                        SELECT CONCAT(sum(mo.pv),'-',sum(mo.buy_money),'-',count(mo.id),'-',sum(mo.number)) 
                        FROM orders mo
                        WHERE mo.uid = u.id {$whereMyOrderSql} AND mo.pay_time >= {$dateType1} AND mo.pay_time <= {$dateType2}
                ) as my_total, u.username, tmp.date
                FROM `user` u, (SELECT date_format(pay_time,'{$dateType}') as date FROM orders GROUP BY date) tmp
                WHERE 1 {$whereSql}
                GROUP BY tmp.date, u.id ORDER BY tmp.date desc, u.id 
                LIMIT {$start}, {$limit}";

        $records = Db::query($sql);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值