繁体   English   中英

Laravel 查询生成器按天计算行数 SQL db::raw

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM