[프로그래머스 Lv2.] 131533번 상품 별 오프라인 매출 구하기 (ORACLE)

2024. 2. 8. 08:35·Coding Test/SQL 고득점 Kit[ORACLE]

문제 설명

다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 상품 정보를 담은 PRODUCT 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. PRODUCT 테이블은 아래와 같은 구조로 PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.

Column name Type  Nullable
PRODUCT_ID INTEGER FALSE
PRODUCT_CODE VARCHAR(8) FALSE
PRICE INTEGER FALSE

 

상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다.

OFFLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 오프라인 상품 판매 ID, 상품 ID, 판매량, 판매일을 나타냅니다.

Column name  Type  Nullable
OFFLINE_SALE_ID INTEGER FALSE
PRODUCT_ID INTEGER FALSE
SALES_AMOUNT INTEGER FALSE
SALES_DATE DATE FALSE

 

동일한 날짜, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.


문제

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


예시

예를 들어 PRODUCT 테이블이 다음과 같고

PRODUCT_ID PRODUCT_CODE PRICE
1 A1000011 15000
2 A1000045 8000
3 C3000002 42000

 

OFFLINE_SALE 테이블이 다음과 같다면

OFFLINE_SALE_ID  PRODUCT_ID SALES_AMOUNT SALES_DATE
1 1 2 2022-02-21
2 1 2 2022-03-02
3 3 3 2022-05-01
4 2 1 2022-05-24
5 1 2 2022-07-14
6 2 1 2022-09-22

 

각 상품 별 총 판매량과 판매가는 다음과 같습니다.

  • PRODUCT_CODE 가 A1000011인 상품은 총 판매량이 6개, 판매가가 15,000원
  • PRODUCT_CODE 가 A1000045인 상품은 총 판매량이 2개, 판매가가 8,000원
  • PRODUCT_CODE 가 C3000002인 상품은 총 판매량이 3개, 판매가가 42,000원

그러므로 각 상품 별 매출액을 계산하고 정렬하면 결과가 다음과 같이 나와야 합니다.

PRODUCT_CODE  SALES
C3000002 126000
A1000011 90000
A1000045 16000

-- 코드를 입력하세요
SELECT 
    P.PRODUCT_CODE
    , SUM(P.PRICE * O.SALES_AMOUNT) AS SALES
FROM PRODUCT P
    INNER JOIN OFFLINE_SALE O
    ON P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY PRODUCT_CODE
ORDER BY SALES DESC, PRODUCT_CODE;
저작자표시 비영리 변경금지 (새창열림)

'Coding Test > SQL 고득점 Kit[ORACLE]' 카테고리의 다른 글

[프로그래머스 Lv5.] 131534번 상품을 구매한 회원 비율 구하기 (ORACLE)  (0) 2024.02.08
[프로그래머스 Lv4.] 59045번 보호소에서 중성화한 동물 (ORACLE)  (1) 2024.02.08
[프로그래머스 Lv3.] 59044번 오랜 기간 보호한 동물(1) (ORACLE)  (0) 2024.02.08
[프로그래머스 Lv3.] 59043번 있었는데요 없었습니다 (ORACLE)  (0) 2024.02.08
[프로그래머스 Lv2.] 59042번 없어진 기록 찾기 (ORACLE)  (0) 2024.02.08
'Coding Test/SQL 고득점 Kit[ORACLE]' 카테고리의 다른 글
  • [프로그래머스 Lv5.] 131534번 상품을 구매한 회원 비율 구하기 (ORACLE)
  • [프로그래머스 Lv4.] 59045번 보호소에서 중성화한 동물 (ORACLE)
  • [프로그래머스 Lv3.] 59044번 오랜 기간 보호한 동물(1) (ORACLE)
  • [프로그래머스 Lv3.] 59043번 있었는데요 없었습니다 (ORACLE)
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (829)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (445)
        • 백준[JAVA] (108)
        • 프로그래머스[JAVA] (260)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    시큐리티
    데이터
    리눅스
    backjoon
    Java
    스프링
    Oracle
    baekjoon
    programmers
    pcce 기출문제
    데이터베이스
    JPA
    플러터
    Flutter
    백준
    리눅스마스터
    스프링부트
    python
    프로그래머스
    DB
    CS
    스프링 부트 쇼핑몰 프로젝트 with JPA
    CS지식
    자바
    Linux
    spring
    리눅스마스터 1급
    postgresql
    Spring Security
    springboot
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[프로그래머스 Lv2.] 131533번 상품 별 오프라인 매출 구하기 (ORACLE)
상단으로

티스토리툴바