🔺 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔺 코드
1
2
3
4
5
6
7
8
9
10
|
SELECT A.AUTHOR_ID
, A.AUTHOR_NAME
, B.CATEGORY
, SUM(S.SALES * B.PRICE) AS TOTAL_SALES
FROM AUTHOR A
JOIN BOOK B ON A.AUTHOR_ID = B.AUTHOR_ID
JOIN BOOK_SALES S ON B.BOOK_ID = S.BOOK_ID
WHERE DATE_FORMAT(S.SALES_DATE, '%Y-%m') = '2022-01'
GROUP BY A.AUTHOR_ID, A.AUTHOR_NAME, B.CATEGORY -- 저자 별, 카테고리 별 매출액
ORDER BY A.AUTHOR_ID ASC, B.CATEGORY DESC; -- 저자ID 오름차순, 카테고리 내림차순
|
cs |
🧩 해결 아이디어
• SELECT문
: AUTHOR 테이블에서 AUTHOR_ID, AUTHOR_NAME 값을,
BOOK 테이블에서 CATEGORY 값을,
BOOK 테이블의 PRICE 값과 BOOK_SALES 테이블의 SALES를 활용해 TOTAL_SALES로 이름을 설정해 값을 가져온다.
• JOIN문
1) BOOK 테이블에서 AUTHOR 테이블과 AUTHOR_ID가 같은 값을 가져온다.
2) BOOK_SALES 테이블에서 AUTHOR 테이블과 BOOK_ID가 같은 값을 가져온다.
• WHERE문
: BOOK_SALES 테이블에서 판매일(SALES_DATE)이 '2022년 1월' 인 객체를 가져온다.
• GROUP BY문
: 저자 별, 저자명 별, 카테고리 별로 묶어 출력한다.
• ORDER BY
: 문제에서 원하는대로 출력하도록 한다.
🔺 다른 풀이들
- BOOK B 기준으로 조인하셨고, WHERE절에서 '2022년 1월' 끌어오는 필터링 방법이 조금 다르시다.
YEAR(S.SALES_DATE) = 2002 AND MONTH(S.SALES_DATE) = 1
[SQL연습] 저자 별 카테고리 별 매출액 집계하기 - 프로그래머스
문제링크항상 세로 성분인지 가로 성분인지 정확하게 인지하는 것이 중요하다. 연산도 세로인지 가로인지 중요하다. 인지만 잘한다면 크게 어렵지 않은 문제이다.판매정보에 각 고유정보를 JOIN
velog.io
💬 느낀 점
JOIN 2개를 어떻게 쓰나 했더니
그냥 AND 쓸 필요도 없이 연달아 쓰면 되는가보다..
그리고 BOOK 기준으로 JOIN하는 게 좀 더 옳은 방향 같다.
아무래도 두 테이블과 모두 겹치는 컬럼을 갖고 있는 테이블은 BOOK이다 보니..
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
(참고)
[프로그래머스/SQL] 저자 별 카테고리 별 매출액 집계하기 오라클(Oracle)
츄르사려고 코딩하는집사입니다. 1. [프로그래머스/SQL] 저자 별 카테고리 별 매출액 집계하기 오라클(Oracle) 2. 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/144856 프로그래머스 코드 중심
yongku.tistory.com
[SQL] 저자 별 카테고리 별 매출액 집계하기(프로그래머스/MySQL/Level 4)
안녕하세요! 데코입니다! 오늘은 프로그래머스 코딩테스트 연습에 있는 "저자 별 카테고리 별 매출액 집계하기" 문제를 포스팅하려고 합니다! 바로 포스팅 시작할게요! :) (출처 : https://school.progr
kkw-da.tistory.com
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 3] 없어진 기록 찾기 (MySQL) (0) | 2023.10.12 |
---|---|
[프로그래머스/Lv. 3] 오랜 기간 보호한 동물(1) (MySQL) (0) | 2023.10.12 |
[프로그래머스/Lv. 4] 5월 식품들의 총매출 조회하기(MySQL) (0) | 2023.10.11 |
[프로그래머스/Lv. 3] 있었는데요 없었습니다 (MySQL) (0) | 2023.10.11 |
[프로그래머스/Lv. 2] 상품 별 오프라인 매출 구하기 (MySQL) (0) | 2023.10.11 |