[에러] 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