미해결
데이터 분석 SQL Fundamentals
case when과 group by 혼용시 case가 3개 이상일 경우 오류
안녕하세요,
만약에 아래 스터디케이스에서
job= 'SALESMAN'인 경우 SALESMAN으로,
job in ('PRESIDENT', 'ANALYST')인 경우 ROYAL로,
나머지 케이스는 OTHERS로 정의해서 avg_sal을 group by 하려면 어떻게 해야 하나요? 제가 아래 케이스처럼 진행했더니 오류가 생기더라고요.
-- job이 SALESMAN인 경우와 그렇지 않은 경우만 나누어서 평균/최소/최대 급여를 구하기.
select case when e.job='SALESMAN' then 'SALESMAN',
case when e.job in ('PRESIDENT', 'ANALYST') then 'ROYAL'
else 'OTHERS' end as sales_or_not, avg(e.sal), max(e.sal), min(e.sal)
from hr.emp e
group by sales_or_not
order by sales_or_not desc
select job, avg(sal) from hr.emp
group by job