簡體   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