[英]Laravel query builder count rows by day SQL db::raw
我有一个 Laravel 8 应用程序,我需要计算每天的总应用程序数量,output 以最有效的方式计算数据,例如,1 日有 500 个应用程序,2 日有 1,000 个应用程序,以此类推,取决于每天有多少应用程序。
我正在使用DB::raw()
来计算我的行数,但是,Laravel 的时间戳默认包括小时、分钟和秒作为日期的一部分,所以这对我不起作用,我需要格式化排除此日期并仅包含日期的日期。
我的查询似乎没有返回任何内容,也没有错误,所以我认为我的第一个DB::raw()
有问题,它似乎根本没有格式化created_at
列,我错过了什么?
Application::whereBetween('created_at', [$from, $to])
->select(DB::raw('DATE_FORMAT("created_at, %Y-%m-%d")'), DB::raw('count(*) as applications'))
->groupBy('created_at')
->get();
您可以使用 groupByRaw()
Application::whereBetween('created_at', [$from, $to])
->select(DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d")'), DB::raw('count(*) as applications'))
->groupByRaw('DATE_FORMAT(created_at, "%Y-%m-%d")')
->get();
此外,您可以使用 selectRaw() 而不是 select(DB::raw)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.