MySQL을 이용해서 SQL문을 생성하며, 집계를 위해 GROUP BY 를 이용했다.
예상했던 결과가 나오지 않고, 1055 오류 코드를 확인할 수 있었다.
해당 에러는 ONLY_FULL_GROUP_BY 모드가 활성화되어 있을 때 발생한다.
이 모드가 활성화되어 있을 경우, GROUP BY 절에 포함되지 않은 열은 반드시 집계 함수나 GROUP BY에 명시되어 있어야 함.
즉, GROUP BY로 그룹화한 열 외에 다른 열을 선택하려면 해당 열이 집계 함수(예: SUM, COUNT, AVG 등)로 감싸져 있어야 하거나, GROUP BY 절에 포함되어야 한다.
SELECT
column1, column2, COUNT(*)
FROM
your_table
GROUP BY
column1, column2;
SELECT
column1, SUM(column2)
FROM
your_table
GROUP BY
column1;
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
이렇게 하면 ONLY_FULL_GROUP_BY가 제거된 설정을 적용할 수 있다.
하지만 이 방법은 쿼리의 정확성을 떨어뜨릴 수 있으므로, 가능하면 쿼리를 수정하여 문제를 해결하는 것을 권장한다.
참고 : https://velog.io/@moojun3/MySQL-Error-Code-1055-onlyfullgroupby