[ERROR] Error Code 1055, only_full_group_by

SEOP·2024년 10월 13일
0
post-thumbnail

1. 오류 발생

MySQL을 이용해서 SQL문을 생성하며, 집계를 위해 GROUP BY 를 이용했다.

예상했던 결과가 나오지 않고, 1055 오류 코드를 확인할 수 있었다.

해당 에러는 ONLY_FULL_GROUP_BY 모드가 활성화되어 있을 때 발생한다.
이 모드가 활성화되어 있을 경우, GROUP BY 절에 포함되지 않은 열은 반드시 집계 함수나 GROUP BY에 명시되어 있어야 함.

즉, GROUP BY로 그룹화한 열 외에 다른 열을 선택하려면 해당 열이 집계 함수(예: SUM, COUNT, AVG 등)로 감싸져 있어야 하거나, GROUP BY 절에 포함되어야 한다.

2. 해결 방안 (택 1)

2-1. GROUP BY 절에 필요한 열 추가

SELECT 
	column1, column2, COUNT(*)
FROM 
	your_table
GROUP BY 
	column1, column2;

2-2. 집계 함수 사용

SELECT 
	column1, SUM(column2)
FROM 
	your_table
GROUP BY 
	column1;

2-3. ONLY_FULL_GROUP_BY 비활성화 (권장 X)

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

이렇게 하면 ONLY_FULL_GROUP_BY가 제거된 설정을 적용할 수 있다.
하지만 이 방법은 쿼리의 정확성을 떨어뜨릴 수 있으므로, 가능하면 쿼리를 수정하여 문제를 해결하는 것을 권장한다.

참고 : https://velog.io/@moojun3/MySQL-Error-Code-1055-onlyfullgroupby

profile
응애 나 애기 개발자

0개의 댓글