[MYSQL] 상품 별 오프라인 매출 구하기 ⭐⭐ – 프로그래머스

💫 문제



 

💫 CODE

SELECT a.PRODUCT_CODE, SUM(a.PRICE * b.SALES_AMOUNT) AS SALES 
FROM PRODUCT a
JOIN OFFLINE_SALE b ON a.PRODUCT_ID = b.PRODUCT_ID
GROUP BY PRODUCT_CODE
ORDER BY SALES DESC, PRODUCT_CODE ASC

 

💫 풀이 조건

1. 상품코드 별 매출액(판매가 * 판매량) 합계를 출력
2. 매출액을 기준으로 내림차순 정렬, 매출액이 같다면 상품코드를 기준으로 오름차순 정렬

 

💫 풀이

1. SELECT a.PRODUCT_CODE, SUM(a.PRICE * b.SALES_AMOUNT) AS SALES
  • PRODUCT 테이블의 상품코드(PRODUCT_CODE), SUM(PRODUCT 테이블의 판매가(PRICE) * PRODUCT 테이블의 판매량(SALES_AMOUNT))
  • SUM()을 이용하여 PRODUCT 테이블의 판매가(PRICE) * PRODUCT 테이블의 판매량(SALES_AMOUNT)의 합계 구하기
  • AS를 이용하여 SUM(a.PRICE * b.SALES_AMOUNT) 별칭 SALES 지정
2. FROM PRODUCT a
  • PRODUCT 테이블 별칭 a로 지정
3. JOIN OFFLINE_SALE b ON a.PRODUCT_ID = b.PRODUCT_ID
  • OFFLINE_SALE 테이블 별칭 b로 지정
  • a.PRODUCT_ID = b.PRODUCT_ID 공유하고있는 컬럼
4. GROUP BY PRODUCT_CODE
  • 상품코드(PRODUCT_CODE)를 기준으로 집계
5. ORDER BY SALES DESC, PRODUCT_CODE ASC
  • 매출액(SALES)을 기준으로 내림차순 정렬, 상품코드(PRODUCT_CODE)를 기준으로 오름차순 정렬

By Dozzing

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다