[프로그래머스 Lv3.] 144855번 카테고리 별 도서 판매량 집계하기 (ORACLE)

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

문제 설명

다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK), 판매 정보(BOOK_SALES) 테이블입니다.

BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.

Column name Type  Nullable Description
BOOK_ID INTEGER FALSE 도서 ID
CATEGORY VARCHAR(N) FALSE 카테고리 (경제, 인문, 소설, 생활, 기술)
AUTHOR_ID INTEGER FALSE 저자 ID
PRICE INTEGER FALSE 판매가 (원)
PUBLISHED_DATE DATE FALSE 출판일

 

BOOK_SALES 테이블은 각 도서의 날짜 별 판매량 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.

Column name Type  Nullable Description
BOOK_ID INTEGER FALSE 도서 ID
SALES_DATE DATE FALSE 판매일
SALES INTEGER FALSE 판매량

문제

2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요.

결과는 카테고리명을 기준으로 오름차순 정렬해주세요.


예시

예를 들어 BOOK 테이블과 BOOK_SALES 테이블이 다음과 같다면

BOOK_ID CATEGORY AUTHOR_ID PRICE  PUBLISHED_DATE
1 인문 1 10000 2020-01-01
2 경제 1 9000 2021-02-05
3 경제 2 9000 2021-03-11

 

BOOK_ID SALES_DATE  SALES
1 2022-01-01 2
2 2022-01-02 3
1 2022-01-05 1
2 2022-01-20 5
2 2022-01-21 6
3 2022-01-22 2
2 2022-02-11 3

 

2022년 1월의 도서 별 총 판매량은 도서 ID 가 1 인 도서가 총 3권, 도서 ID 가 2 인 도서가 총 14권 이고, 도서 ID 가 3 인 도서가 총 2권 입니다.

카테고리 별로 판매량을 집계한 결과는 다음과 같습니다.

CATEGORY  TOTAL_SALES
인문 3
경제 16

 

카테고리명을 오름차순으로 정렬하면 다음과 같이 나와야 합니다.

CATEGORY  TOTAL_SALES
경제 16
인문 3

-- 코드를 입력하세요
SELECT 
    B.CATEGORY
    , SUM(S.SALES) AS TOTAL_SALES
FROM BOOK B
    INNER JOIN BOOK_SALES S
    ON B.BOOK_ID = S.BOOK_ID
WHERE TO_CHAR(S.SALES_DATE, 'YYYYMM') = '202201'
GROUP BY B.CATEGORY
ORDER BY B.CATEGORY;
저작자표시 비영리 변경금지 (새창열림)

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

[프로그래머스 Lv2.] 132202번 진료과별 총 예약 횟수 출력하기 (ORACLE)  (0) 2024.02.06
[프로그래머스 Lv3.] 157340번 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (ORACLE)  (0) 2024.02.06
[프로그래머스 Lv4.] 144856번 저자 별 카테고리 별 매출액 집계하기 (ORACLE)  (0) 2024.02.06
[프로그래머스 Lv3.] 164668번 조건에 맞는 사용자와 총 거래금액 조회하기 (ORACLE)  (0) 2024.02.06
[프로그래머스 Lv3.] 131123번 즐겨찾기가 가장 많은 식당 정보 출력하기 (ORACLE)  (1) 2024.02.06
'Coding Test/SQL 고득점 Kit[ORACLE]' 카테고리의 다른 글
  • [프로그래머스 Lv2.] 132202번 진료과별 총 예약 횟수 출력하기 (ORACLE)
  • [프로그래머스 Lv3.] 157340번 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (ORACLE)
  • [프로그래머스 Lv4.] 144856번 저자 별 카테고리 별 매출액 집계하기 (ORACLE)
  • [프로그래머스 Lv3.] 164668번 조건에 맞는 사용자와 총 거래금액 조회하기 (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)
  • 블로그 메뉴

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

  • 태그

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

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[프로그래머스 Lv3.] 144855번 카테고리 별 도서 판매량 집계하기 (ORACLE)
상단으로

티스토리툴바