[MySQL] Error Code: 1055. Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'XXX' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 해결 방법
2022. 9. 15.
반응형

진짜 살다 살다 별 에러가 다 난다.

 

https://bekusib.tistory.com/221

 

[mysql] ERROR 1055... which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only

mysql에서 날짜별 통계 관련 쿼리문을 작성할때 group by를 자주 사용하게 된다. 평소에 하던대로 쿼리를 짜서 콘솔에 테스트를 해보니 아래와 같은 에러가 발생했다. ERROR 1055 (42000): Expression #1 of SEL

bekusib.tistory.com

 

이 블로그를 보고 해결했다.

 

 

워크벤치던 터미널에더서건 간에

 

 

SELECT @@sql_mode;

 

 

이 명령어를 돌려보면 무슨 설정들이 모여있다. 이 에러의 원인은 'only_full_group_by ' 설정 때문에... 그래서 그 설정을 없애줘야 쿼리가 제대로 돌아간다.

 

 

 

 

SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

 

 

위의 쿼리를 돌리면 문제를 해결할 수 있다. sql_mode에 있는 원래 조건 중 'only_full_group_by'만 제외하고 다시 설정하는 것이다.

 

구글이 없던 때는... 어떻게 코딩을 했을까?

 

 

+ 아 참고로 해도 안될때는 껐다 키면 된다!!!!

 

 

 

 

반응형
myoskin