tp5 分组查询每天的留言统计总数

2 篇文章 0 订阅
2 篇文章 0 订阅

原因:因为要统计每天的留言总数,在网上到处查都是原生的sql语句,没有tp5助手函数写法,这里记一下
    

    public function group(){
        //获取当前时间0点时的时间戳
        $time = time();
        $a=date("Y-m-d",$time);
        
        $end = strtotime($a)+3600*24;
        $start = $end-3600*24*7;
        //一个星期内的时间
        $sdata['time'] = [
                ['gt',$start],
                ['lt',$end],
        ];
        
        //以每天的时间为分组条件,查询每天留言统计总数
        $res = db('msgbox')
                ->where($sdata)
                ->field("DATE_FORMAT(FROM_UNIXTIME(time),'%Y-%m-%d') as date,count(*) as total")
                ->group("DATE_FORMAT(FROM_UNIXTIME(time),'%Y-%m-%d')")    
                ->select();
        //查看sql语句
        echo db('msgbox')->getLastSql();
        //输出结果
        dump($res);die;
        //return $this->fetch();
    }
    

 

总结:刚开始看到 DATE_FORMAT(time,'%Y-%m-%d'),自己试了半天没用,后来发现自己存储在数据
    库的是时间戳,需要用DATE_FORMAT函数将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。
    所以在数据库中用时间戳存储的用DATE_FORMAT(FROM_UNIXTIME(time),'%Y-%m-%d'),直接存储
    日期"YYYY-MM-DD"格式用DATE_FORMAT(time,'%Y-%m-%d')。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值