코딩테스트 - SQL

Yohan·2024년 10월 6일
0

코딩기록

목록 보기
154/156
post-custom-banner

문제

PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.

풀이

  1. PRODUCT 테이블과 OFFLINE_SALE 테이블을 PRODUCT_ID로 조인.
  2. 각 PRODUCT_ID별로 SALES_AMOUNT 합계를 계산하고, 그 값에 해당 제품의 price를 곱해 SALES를 계산.
  3. PRODUCT_ID별로 그룹화.
  4. SALES를 기준으로 내림차순 정렬하고, 동일한 SALES 값에서는 PRODUCT_CODE를 기준으로 오름차순 정렬.
SELECT P.PRODUCT_CODE, SUM(SALES_AMOUNT) * P.PRICE AS SALES
FROM PRODUCT P
JOIN OFFLINE_SALE O
ON P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY P.PRODUCT_ID
ORDER BY SALES DESC, P.PRODUCT_CODE;
profile
백엔드 개발자
post-custom-banner

0개의 댓글