2016-11-10 1 views
2

월별 데이터를 그룹화하려고합니다.Laravel Eloquent, 월별 그룹/연도

$data ->select(DB::raw('count(id) as `data`'),DB::raw('YEAR(created_at) year, MONTH(created_at) month')) 
      ->groupby('year','month') 
      ->get(); 

출력은 다음과 같습니다

{ 
"data": 19215, 
"year": 2016, 
"month": 10 
}, 

에만 월별 나는 그룹은, 내가 이번 달에 속하는 대비, 내 예상 출력은 모르는 경우 :

{ 
"clicks": 19215, 
"month": 11-2016, 
}, 
{ 
"clicks": 11215, 
"month": 12-2016, 

을} ,

나는 PHP에서하지 않고 SQL에서하고 싶다.

답변

8

당신은 시도 할 수 있습니다 :

->select(DB::raw('count(id) as `data`'), DB::raw("DATE_FORMAT(created_at, '%m-%Y') new_date"), DB::raw('YEAR(created_at) year, MONTH(created_at) month')) 
->groupby('year','month') 
->get(); 
+1

오지 않아요 '작품, 내가 대답을 업데이트 한 SQL 오류 – TheShun

+1

합니다. 다시 시도하십시오. –

+0

QLSTATE [42000] : 구문 오류 또는 액세스 위반 : 1055 SELECT 목록의 식 # 2가 GROUP BY 절에없고 집계되지 않은 열을 포함합니다. – TheShun