개인적인 정리

[MySQL] 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 본문

DB/MYSQL-IBATIS

[MySQL] 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

yeon.Biju 2021. 7. 14. 16:29

 

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

 

 

MySQL 5.1 버전과 5.7버전을 같이 보고 있는데 위와 같은 오류가 발생을 한다.

5.1버전에서는 데이타가 잘 나오고, 5.7버전에서는 오류를 발생시킨다.

 

내 생각에 원인은 GROUY BY 절을 잘못사용한 것이다. 데이타가 나온다고 하여도 논리적으로 문제가 있어보이는 상황이다. 

GROUP BY 절에 포함되어 있지 않은 칼럼을 SELECT 절에서 사용하는 경우, 값을 출력할 때 MySQL은 무엇을 출력해야 하는지 모를 것 같다.(에매모호하다랄까). 따라서 쿼리를 보다 논리적으로 수정하는 것이 가장 좋은 방법이지 않을까 싶다.

 

여유가 있는 상황이 아니라면 다른 방법을 생각해볼 수도 있을 것이다.

 

그리하여 정리를 좀 해볼까 하고 자료를 찾던 중에 내가 원하던 내용이 아래 URL에 잘 정리되어 링크로 정리를 대신해본다.

 

https://developyo.tistory.com/20

 

mysql GROUP BY (only full group by)

 MYSQL GROUP BY(incompatible with sql_mode=only full group by)에 대해 알아보자 로컬 및 개발 환경에서 멀쩡히 돌아가던 쿼리가 테스트 서버에 올리고 나니 다음과 같은 Exception을 뱉었다. com.mysql.jdbc...

developyo.tistory.com

 

 

 

 

'DB > MYSQL-IBATIS' 카테고리의 다른 글

GROUP_CONCAT  (0) 2018.12.27
mysql ibatis like 검색  (0) 2018.12.04
mysqldump: Couldn't find table:  (0) 2018.04.30
mysql 백업 및 복구  (0) 2018.02.18
LIKE 사용법  (0) 2016.08.23
Comments