
Table::groupBy를 사용할 때, group by 할 수 있는 데이터 타입은 다음과 같습니다.
- 정수(int)
- 실수(float)
- 날짜(date)
- 시간(time)
- 시간대(timezone)
문자열 타입의 컬럼을 group by 하려면, 그룹핑을 하기 전에 문자열을 고유한 값으로 변환해야 합니다. 예를 들어, 이름을 group by 하려면, 이름의 첫 글자를 group by 하거나, 이름을 고유한 값으로 변환하는 함수를 사용할 수 있습니다.
예를 들어, Laravel의 Illuminate\Support\Facades\DB::raw() 함수를 사용하여 이름의 첫 글자를 group by 할 수 있습니다.
#hostingforum.kr
php
DB::table('테이블명')
->select('이름', DB::raw('LEFT(이름, 1) as 첫글자'))
->groupBy('첫글자')
->get();
또는, 이름을 고유한 값으로 변환하는 함수를 사용할 수 있습니다.
#hostingforum.kr
php
DB::table('테이블명')
->select('이름', DB::raw('MD5(이름) as 고유값'))
->groupBy('고유값')
->get();
2025-05-03 04:42