Существует следующая модель запроса:
return \DB::table('clients')->select(DB::raw("
DATE_FORMAT(result_test.created_at, '%M %e %Y') AS day,
COUNT(result_test.id) AS passed"))
->leftJoin('result_test', 'result_test.client_id', '=', 'clients.id')
->where('clients.doctor_id', $user_id)
->whereBetween('result_test.created_at', array($startDate, $endDate))
->orderBy('result_test.created_at')
->groupBy('day')
->get();
Обратите внимание на фрагмент:
DB::raw("
DATE_FORMAT(result_test.created_at, '%M %e %Y') AS day,
COUNT(result_test.id) AS passed")
После этого я попытался сгруппировать строки по AS day
:
->groupBy('day')
И у меня появляется это сообщение об ошибке:
42000/1055 - db.result_test.created_at' isn't in GROUP BY
Что не так с запросом?
Когда я убрал это: ->orderBy('result_test.created_at')
он начинает работать.Почему?