在我的數(shù)據(jù)庫中我有類似的記錄**my_table_name**id date_column status1 2020-07-21 00:29:05 done2 2020-07-21 21:29:05 done3 2020-07-21 21:35:05 failed4 2020-07-22 10:29:05 done5 2020-07-22 10:35:05 done6 2020-07-22 10:37:05 failed7 2020-07-22 10:39:05 failed8 2020-07-22 10:40:05 done使用 laravel 查詢我想要這樣的結(jié)果array( [0]=>array( 'date'=>'2020-07-21', 'failed'=>1 'done'=>2 ), [0]=>array( 'date'=>'2020-07-22', 'failed'=>2 'done'=>3 ))我怎樣才能做到這一點(diǎn)?我努力了$record=DB::table('my_table_name') ->select( DB::raw("DATE_FORMAT(date_column, 'Y-m-d') as date"), DB::raw("SUM(status= 'failed') as failed"), DB::raw("SUM(status= 'done') as done"), ) ->where('date_column','>=','2020-07-21 00:00:00') ->where('date_column','<=','2020-07-22 23:59:59') ->groupBy(DB::raw("DATE_FORMAT(date_column, 'Y-m-d')")) ->get();提前致謝
1 回答

富國滬深
TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
您的代碼似乎沒問題,但使用日期格式“Ymd”而不是“%Y-%m-%d”,這是錯(cuò)誤的。
為了解決您的問題,請使用以下查詢:
DB::table('my_table_name')::select( DB::raw("DATE_FORMAT(date_column, '%Y-%m-%d') as date"), DB::raw("SUM(name= 'failed') as failed"), DB::raw("SUM(name= 'done') as done"), ) ->whereDate('date_column','>=','2020-07-21') ->whereDate('date_column','<=','2020-07-22') ->groupBy(DB::raw("DATE_FORMAT(date_column, '%Y-%m-%d')")) ->get();
- 1 回答
- 0 關(guān)注
- 103 瀏覽
添加回答
舉報(bào)
0/150
提交
取消