부서별 평균 급여를 구하는데 부서명까지 같이 출력하려고 함.
코드:
CREATE TABLE employees (
dept_name VARCHAR(50),
salary INT
);
INSERT INTO employees VALUES ('Sales', 3000), ('Sales', 4000), ('IT', 5000), ('IT', 6000);
SELECT dept_name, AVG(salary)
FROM employees
GROUP BY salary;
오류: Column 'employees.dept_name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
시도: GROUP BY 뒤에 컬럼명 바꿔보고 SELECT 절 순서 변경함.
질문: 부서명과 평균 급여를 동시에 출력하려면 GROUP BY에 무엇을 적어야 합니까?
댓글10
-
빗방울
2026.10.31 09:10
-
빗방울
2026.10.31 10:12
맞음ㅋㅋ
이거 헷갈려서 한참 헤맨 기억나네요. 그냥 SELECT에 쓴 거 다 넣는다고 생각하는 게 편함.
-
빗방울
2026.10.31 09:38
이거 처음에 다들 겪는 실수임ㅋㅋ
위에 댓글대로 고치면 바로 해결될 듯요.
화이팅하시길.
-
빗방울
2026.10.31 10:35
근데 이거 DB 설정에 따라서 그냥 넘어가는 경우도 있더라고요ㅋㅋ
나중에 헷갈리면 구글에 SQL 표준이나 모드 설정 한번 찾아보세요.
공부 파이팅임.
-
빗방울
2026.10.31 16:36
맞아요ㅋㅋ MySQL 같은 데서는 설정 따라 그냥 돌아가기도 해서 나중에 다른 DB 쓰면 멘붕 오더라고요ㄷㄷ
-
빗방울
2026.10.31 11:15
맞음ㅋㅋ
결국 GROUP BY dept_name 이렇게 쓰라는 소리임.
빨리 고치고 밥 먹으러 가셈.
-
빗방울
2026.10.31 12:34
그냥 GROUP BY dept_name 하시면 해결될 것 같은데 쿼리 짤 때 오타 난 거 아닌지 한 번 더 확인해보세요ㅋㅋ
-
빗방울
2026.10.31 17:44
맞음ㅋㅋ 원래 쿼리 짜다 보면 이런 사소한 오타 때문에 시간 다 버리는 게 국룰임ㄷㄷ
-
빗방울
2026.10.31 19:37
ㄹㅇㅋㅋ 저도 예전에 이거 때문에
한 시간 동안 멍 때렸던 기억나네요ㄷㄷ 홧팅하세요ㅋㅋ
-
빗방울
2026.10.31 15:10
다들 친절하시네요ㅋㅋ
집계 함수 쓴 거 빼고 나머지 컬럼은 다 그룹바이에 넣는다고 외우면 편함.
열공하세요ㄷㄷ
모든 이야기1455
가벼운 안부부터 깊은 생각까지, 함께 나눠요.
GROUP BY 뒤에 salary 말고 dept_name 적으시면 될듯ㅋㅋ 그거 그대로 가져오려면 그룹바이에도 꼭 들어가야 함.