对于不存在的时间, thinkphp 中的分组统计可以使用 left join 来处理.
这样做的好处是可以保证在统计中包含所有的时间,即使某个时间没有对应的数据也会被统计到,避免数据缺失.
例如:
$result = Db::table('table1')
->field('date,count(*) as count')
->group('date')
->leftJoin('table2','table1.date=table2.date')
->select();
这样执行会在table1 中按照date 分组,并且使用leftJoin与table2连接,这样就能统计出不存在的数据了。