[에러] Error Code: 1055. Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggregated column '~~' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 0.015 sec
2024. 3. 4. 10:39ㆍ에러 창고
728x90
SMALL
[Reason]
쿼리를 실행했을 때 발생된 에러이다.
에러를 해석해보면, group by 에 조회 컬럼을 명시하지 않은 채 select 절에 해당 컬럼을 조회하려고 넣었기 때문에 발생된 에러이다.
에러 메세지 중 마지막 부분인 sql_mode=only_full_group_by 부분이 바로 현재 설정이 group by 를 사용할 때 명시하지 않으면 포함하지 않은 컬럼은 조회되지 않는 full group by 설정이 기본으로 설정되어있다는 뜻이다.
[Solution]
- 해결책 (1)
sql_mode를 확인하고, 조회되는 테이블에서 ONLY_FULL_GROUP_BY 를 제외한 나머지 값을 복사한 뒤, set session sql_mode 에 붙여넣어 only_full_group_by 설정을 없애준다.
- 해결책 (2)
조회하고자 하는 컬럼을 group by에도 명시해주어 조회되게끔 해준다.
728x90
반응형
LIST