Notice
Recent Posts
Recent Comments
Link
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Tags
more
Archives
Today
Total
관리 메뉴

하루에 하나씩 공부하기

[TESTDOME] Regional Sales Comparison 본문

카테고리 없음

[TESTDOME] Regional Sales Comparison

dltaexox 2025. 10. 22. 12:08

Regional Sales Comparison

 

Regional Sales Comparison | SQL | TestDome

 

www.testdome.com

 

- 유의점

SA.AMOUNT가 NULL일 경우에는 0으로 처리해야함 > CASE WHEN 사용

INNER JOIN 사용하면 매출 없는 지역도 0으로 처리가 안됨 > LEFT JOIN 사용

각 컬럼마다 최대값이랑 평균값 차이 구하기 > 서브쿼리 SELECT MAX(AVG_ALL) FROM AAA 사용

(그냥 MAX(AVG_ALL)하면 컬럼 한개만 반환)

 

WITH AAA AS(
SELECT R.NAME, R.ID, 
CASE WHEN SUM(SA.AMOUNT) IS NOT NULL THEN SUM(SA.AMOUNT)/COUNT(DISTINCT(E.ID)) ELSE 0 END AS AVG_ALL 
FROM REGIONS R LEFT JOIN STATES S ON R.ID=S.REGIONID 
LEFT JOIN EMPLOYEES E ON S.ID=E.STATEID 
LEFT JOIN SALES SA ON E.ID=SA.EMPLOYEEID
GROUP BY R.ID, R.NAME 
) 

SELECT NAME, AVG_ALL, 
(SELECT MAX(AVG_ALL) FROM AAA)-AVG_ALL 
FROM AAA;