본문 바로가기
코딩테스트/programming_SQL

[SQL] 저자 별 카테고리 별 매출액 집계하기_144856

by prometedor 2023. 11. 17.

GROUP BY, YEAR, MONTH, 테이블 3개 JOIN, SUM, 이용하기

 

https://school.programmers.co.kr/learn/courses/30/lessons/144856

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

SELECT 
	a.AUTHOR_ID, 
    b.AUTHOR_NAME, 
    a.CATEGORY, 
    SUM (c.SALES * a.PRICE) AS TOTAL_SALES
FROM (BOOK a 
	  JOIN AUTHOR b 
	  ON a.AUTHOR_ID = b.AUTHOR_ID)
      JOIN BOOK_SALES c 
      ON a.BOOK_ID = c.BOOK_ID
WHERE YEAR(c.SALES_DATE) = 2022 AND MONTH(c.SALES_DATE) = 1
GROUP BY a.AUTHOR_ID, a.CATEGORY
ORDER BY a.AUTHOR_ID, a.CATEGORY DESC;

 

SELECT 
    b.AUTHOR_ID, 
    c.AUTHOR_NAME, 
    b.CATEGORY, 
    SUM(a.SALES * b.PRICE) AS TOTAL_SALES
FROM BOOK_SALES a
    JOIN BOOK b
    ON a.BOOK_ID = b.BOOK_ID
    JOIN AUTHOR c
    ON b.AUTHOR_ID = c.AUTHOR_ID
WHERE YEAR(SALES_DATE) = 2022 AND MONTH(SALES_DATE) = 1
GROUP BY 1, 3
ORDER BY 1, 3 DESC;

 

 

문제 사항 : SALES 에 PRICE 를 곱하지 않고 작성하여 정답 처리가 되지 않았다.

 

해결 : SALES 에 PRICE 를 곱하도록 수정하여 정답 처리를 받았다.

 

깨달은 바 : 문제를 꼼꼼히 읽자.....