https://school.programmers.co.kr/learn/courses/30/lessons/144855
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드설명
INNER JOIN + DATE_FORMAT을 활용합니다.
문제에서 날짜형식 TYPE이 DATE 형식입니다.(DATE는 년-월-일 만 표현합니다. DATETYPE은 년-월-일 시:분:초)를 표현합니다.
코드
SELECT B.CATEGORY, SUM(BS.SALES) AS TOTAL_SALES
FROM BOOK AS B
INNER JOIN BOOK_SALES AS BS
ON B.BOOK_ID = BS.BOOK_ID
WHERE DATE_FORMAT(BS.SALES_DATE, '%Y-%m') = '2022-01'
GROUP BY B.CATEGORY
ORDER BY B.CATEGORY ASC
ORACLE
-- 코드를 입력하세요
SELECT B.CATEGORY AS CATEGORY, SUM(BS.SALES) AS TOTAL_SALES
FROM BOOK B
INNER JOIN BOOK_SALES BS
ON B.BOOK_ID = BS.BOOK_ID AND TO_CHAR(BS.SALES_DATE, 'YYYY-MM') = '2022-01'
GROUP BY B.CATEGORY
ORDER BY B.CATEGORY ASC
'SQL > 프로그래머스' 카테고리의 다른 글
[SQL][프로그래머스] 있었는데요 없었습니다 - INNER JOIN + DATETIME + DATEDIFF MYSQL ORACLE (0) | 2024.08.02 |
---|---|
[SQL][프로그래머스] 조건별로 분류하여 주문상태 출력하기 - DATE_FORMAT + CASE WHEN MYSQL (0) | 2024.08.02 |
[SQL][프로그래머스] ROOT 아이템 구하기 - INNER JOIN + IS NULL MYSQL (0) | 2024.07.28 |
[SQL][프로그래머스] 특정 형질을 가지는 대장균 찾기 - BIT (&) 연산자 MYSQL (0) | 2024.04.30 |
[SQL][프로그래머스] 최솟값 구하기 - MIN MYSQL ORACLE (0) | 2024.04.30 |