MySQL Error Code: 1055 Group By

Devel/Error|2021. 11. 20. 14:59
반응형

MySQL 5.7.5 버전기준 이후부터,

[선택 목록, 조건 또는 목록이 절에 이름이 지정되지 않은 집계되지 않은 열을 참조하는 쿼리를 허용하지 않습니다] 

라고 정의가 변경되었다고 한다.

 

구글링을 해보니, 

해결방법이 2가지 정도 있는데 

첫번째로,

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

그룹바이의 규칙을 5.7.4 이전 버전의 기준으로 돌리거나

 

두번째로,

그룹바이 절에 select 네임 명명해주기

에러코드를 확인해서 에러코드에서 문제가 되는 컬럼명을 그룹바이 절에서 명시한다.

 

에러코드 예시 :

Error Code: 1055. Expression
#1 of SELECT list is not in GROUP BY clause
and contains nonaggregated column 'A.testName' which is not functionally
dependent on columns in GROUP BY clause;
this is incompatible with sql_mode=only_full_group_b

라는 에러 코드를 뱉었다면, 해당 쿼리의 그룹바이 절에 A.testName 를 추가해주면 된다.

 

참고 블로그 : https://bcdragonfly.tistory.com/8

 

댓글()
loading