_Han_
나의 개발 노트
_Han_
  • 분류 전체보기 (273)
    • 데이터 엔지니어링 (30)
    • 인프라 (3)
    • 추천시스템 (11)
    • 코딩테스트 (146)
    • 부트캠프 회고 (15)
    • 회고 (4)
    • 자격증 (1)
    • 파이썬 프로그래밍 (6)
    • 통계 (2)
    • Git (21)
    • 유니티2D (33)

최근 글

반응형
hELLO · Designed By 정상우.
_Han_

나의 개발 노트

[코딩테스트] 프로그래머스 저자 별 카테고리 별 매출액 집계하기 MySQL
코딩테스트

[코딩테스트] 프로그래머스 저자 별 카테고리 별 매출액 집계하기 MySQL

2022. 12. 19. 23:38
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/144856

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

SELECT 
    A.AUTHOR_ID AS AUTHOR_ID,
    A.AUTHOR_NAME AS AUTHOR_NAME,
    B.CATEGORY AS CATEGORY,
    SUM(SALES* PRICE) AS TOTAL_SALES
FROM BOOK B
JOIN AUTHOR A
ON B.AUTHOR_ID = A.AUTHOR_ID
JOIN BOOK_SALES S
ON S.BOOK_ID = B.BOOK_ID
WHERE DATE_FORMAT(S.SALES_DATE, '%Y-%m') = '2022-01'
GROUP BY AUTHOR_ID, CATEGORY
ORDER BY AUTHOR_ID ASC, CATEGORY DESC

문제를 해결하기 위하여 먼저 3개의 테이블(BOOK, AUTHOR, BOOK_SALES)을 JOIN하였습니다.

 

WHERE 문에서는 2022년 1월 도서 데이터를 기준으로 데이터를 추출하기 위하여 DATE_FORMAT()함수를 사용하여 2022년 1월의 도서 데이터만 추출하였습니다.

 

GROUP BY문에서 저자(AUTHOR_ID) 별 카테고리(CATEGORY) 별로 그룹화를 하였고

SELECT 문에서 SUM()함수를 사용하여 저자 별, 카테고리별 매출액(TOTAL-SALES)를 구하였습니다.

- SUM()함수를 사용해서 저자, 카테고리로 묶인 데이터의 매출액들을 모두 더해주어야 합니다.

 

ORDER BY문에서 저자ID(AUTHOR_ID)를 기준으로 오름차순(ASC), 카테고리(CATEGORY) 기준으로 내림차순(DESC)정렬하여 출력하였습니다.

 

반응형

'코딩테스트' 카테고리의 다른 글

[코딩테스트] 프로그래머스 연속 부분 수열 합의 개수 파이썬(Python)  (0) 2022.12.21
[코딩테스트] 프로그래머스 명예의 전당 (1) 파이썬(Python)  (0) 2022.12.20
[코딩테스트] 프로그래머스 조건에 맞는 도서와 저자 리스트 출력하기 MySQL  (0) 2022.12.19
[코딩테스트] 프로그래머스 카테고리 별 도서 판매량 집계하기 MySQL  (0) 2022.12.18
[코딩테스트] 프로그래머스 조건에 맞는 도서 리스트 출력하기 MySQL  (0) 2022.12.17
    '코딩테스트' 카테고리의 다른 글
    • [코딩테스트] 프로그래머스 연속 부분 수열 합의 개수 파이썬(Python)
    • [코딩테스트] 프로그래머스 명예의 전당 (1) 파이썬(Python)
    • [코딩테스트] 프로그래머스 조건에 맞는 도서와 저자 리스트 출력하기 MySQL
    • [코딩테스트] 프로그래머스 카테고리 별 도서 판매량 집계하기 MySQL
    _Han_
    _Han_
    학습한 것을 기록합니다.

    티스토리툴바