우당탕탕 개발일지
[SQL] 프로그래머스 JOIN: 상품 별 오프라인 매출 구하기 본문
문제 링크
문제 설계
1. 일단 OFFLINE_SALE 테이블에서 상품ID 별 판매량을 구하기(GROUP BY)
상품코드(PRODUCT_CODE)별 매출약(판매가 * 판매량) 합계를 출력(GROUP BY, SELECT)
2. 매출액 기준 내림차순, 상품코드 기준 오름차순 정렬(ORDER BY)
PRODUCT_CODE와 SALES 열이 있는데, SALES = PRICE * SALES_AMOUNT
SQL 코드
SELECT P.PRODUCT_CODE, P.PRICE * SUM(O.SALES_AMOUNT) AS SALES
FROM PRODUCT P
JOIN OFFLINE_SALE O
WHERE P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY P.PRODUCT_CODE
ORDER BY SALES DESC, P.PRODUCT_CODE
기억할 내용
1. JOIN을 먼저 생각하고 그 다음에 하위의 것들을 생각하자
2. 그룹별 합을 구할 때 SUM을 어디다 적을지 자꾸 까먹는데, SELECT문에 SUM() 적으면 된다!
'SQL' 카테고리의 다른 글
[SQL] 프로그래머스 JOIN: 없어진 기록 찾기(level 3) (0) | 2024.02.08 |
---|---|
[SQL] 프로그래머스 JOIN: 조건에 맞는 도서와 저자 리스트 출력하기 (0) | 2024.02.08 |
[SQL] 프로그래머스 SUM, MAX, MIN: 중복 제거하기 (1) | 2024.02.04 |
[SQL] 프로그래머스 JOIN: 주문량이 많은 아이스크림들 조회하기 (1) | 2024.02.04 |
[SQL] 프로그래머스 SELECT: 조건에 맞는 회원수 구하기 (0) | 2024.02.02 |