
000979 (42601): SQL compilation error: [컬럼A] is not a valid group by expression
이 오류는 SELECT 절에서 집계 함수(SUM)를 사용한 컬럼과 그렇지 않은 컬럼(컬럼A)이 동시에 존재할 때, GROUP BY 절이 필요함을 의미합니다.
=> SELECT절은 집계 함수가 필요한 컬럼들과 그렇지 않은 컬럼들 함께 쓸 수 없음!
SUM(AMOUNTSUM), COUNT(*), AVG(...) 같은 함수들이 사용될 때, 데이터가 그룹화되어 하나의 결과로 집계됨.
컬럼A 같은 컬럼이 직접 SELECT 절에 포함될 경우, 어떤 기준으로 그룹화할지 SQL 엔진이 알 수 있도록 명시적으로 GROUP BY 절을 사용해야 합니다.
=> 즉, 컬럼A는 단순한 개별 값이므로, 전체를 집계하기 위해선 동일한 기준으로 데이터를 그룹화해함
컬럼A가 어떤 기준(예: 날짜, 카테고리 등)으로 그룹화될지 지정해야 합니다.
SELECT 컬럼A,
SUM(AMOUNTSUM)
FROM DATA
WHERE date >= '2021-12-01'
AND date < '2022-02-01'
GROUP BY 컬럼A;
=> 그러나 애초에 컬럼 A는 산별적인 데이터를 가진 애들이어서,
컬럼A별 SUM이 집계되므로 대부분 원하지 않는 결과 도출

SELECT SUM(컬럼A),
SUM(AMOUNTSUM)
FROM DATA
WHERE date >= '2021-12-01'
AND date < '2022-02-01';
