본문 바로가기
Coding Test/SQL Coding Test

[프로그래머스 / SQL] - 상품 별 오프라인 매출 구하기

by nam_ji 2024. 1. 29.

상품 별 오프라인 매출 구하기

문제

  • 쇼핑몰의 상품 정보를 담은 product 테이블과 오프라인 상품 정보를 담은 offline_sale 테이블이 있습니다.
  • product 테이블과 offline_sale 테이블을 JOIN 하여
    1. 상품 코드별
    2. 매출액(판매가 * 판매량)의 합계를
    3. 출력하는데
    4. 매출액 기준 내림차순 정렬하고 매출액이 같다면 상품코드 기준 오름차순 정렬하는 문제입니다.


프로그래머스 코드

  • 우선 조회할 컬럼을 SELECT에 작성합니다.
    • 매출액을 구하기 위해 SUM 함수를 이용하고 sales로 출력될 수 있게 했습니다.
  • FROM 뒤에 조회할 테이블과 JOIN할 테이블을 작성합니다.
  • ON을 통해 각 테이블의 공통 컬럼을 비교합니다.
  • GRUOP BY를 이용해 컬럼 전체를 조회하도록 하고
  • ORDER BY를 이용하여 정렬을 해주었습니다.
-- 코드를 입력하세요
SELECT
    product_code,
    SUM((price * sales_amount)) sales
FROM product p
JOIN offline_sale os
ON p.product_id = os.product_id
GROUP BY product_code
ORDER BY sales DESC, product_code ASC;