【发布时间】:2021-12-04 18:52:21
【问题描述】:
我正在尝试根据我的数据库中的 created_at 列按各种格式(例如小时、日、月和年)对数据进行分组,我总是需要返回一个有效的日期并且在该部分遇到问题。
以下为我提供date 的有效日期:
User::selectRaw('DATE(created_at) as date, COUNT(*) as total')->groupBy('date')->where('created_at', '>=', \Carbon\Carbon::now()->subWeeks(4))->whereNull('email_verified_at')->get();
但是如果我想按月分组,date 就变成了10,我该如何更改呢?
User::selectRaw('MONTH(created_at) as date, COUNT(*) as total')->groupBy('date')->where('created_at', '>=', \Carbon\Carbon::now()->subWeeks(4))->whereNull('email_verified_at')->get();
【问题讨论】:
-
它位于哪个数据库之上?每个 DBMS 都有不同的日期语法。 (MYSQL8、MYSQL5.X、Oracle、MS SQL Server、PostgreSQL 等)