-
[코딩테스트] 프로그래머스 - 카테고리 별 도서 판매량 집계하기(MySQL, Level3)코딩테스트/프로그래머스 2022. 12. 21. 00:11728x90
안녕하세요~
어쩌다보니 며칠 만에 글을쓰네요~
게으름은 아니고.. 사실 코딩테스트 문제를 풀기위해 고민고민하다가 며칠이 지나고... 결국 포기했습니다.
카카오는 어디서 이렇게 신선하고 머리아픈 문제를 만들어내는지...
요즘 우울해지네요~
그리고 Spring Boot도 강의를 들으며 공부하고있습니다.
웹은 정말 신기하고 재밌네요~
잡담은 그만하고 문제입니다.
프로그래머스에 SQL관련한 새로운 문제가 나왔길래 풀어봤습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/144855
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
그럼 제가 작성한 쿼리문을 만나보시죠~
-- 코드를 입력하세요 SELECT b.category as category, sum(bs.sales) as total_count from book as b join book_sales as bs on b.book_id=bs.book_id where bs.sales_date between '2022-01-01' and '2022-01-31' group by b.category order by b.category
생각보다 깔끔하죠~?
문제를 통해 필요한걸 하나씩 걸러내보겠습니다.
① 2022년 1월의~로 시작합니다. 그렇기에 우리는 필요한 데이터가 2022년 1월데이터라는걸 알 수 있습니다.
② 카테고리별 도서 판매량을 합산
- 여기서 알 수 있는건 SELECT르 카테고리, 합산된 도서판매량이라는걸 알 수 있습니다.
③ 카테고리는 BOOK TABLE에, 총판매량은 따로 없지만 BOOK_SALES Table에 sales라는 판매량의 sum을 이용해야한다는 걸 알 수 있습니다. 판매량의 총합이기 때문이죠.
④ 카테고리 별로 총 판매량을 잡아야합니다. 카테고리별이면~? 카테고리끼리 묶는다~ 아! group by ! 라는걸 알아주시면 되겠습니다.
⑤ 마지막으로는 카테고리면을 오름차순으로 정렬해 달라니 order by를통해 정렬해 주시면 되겠습니다.
level3이라 그다지 어렵지 않았습니다.
코딩테스트는 너무 더디지만 조급해하지 않고 피가되고 살이돼주길 바래야겠습니다.
추운날 감기조심하시길 바랍니다.
감사합니다. :D
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[코딩테스트] 프로그래머스 - 조건에 맞는 도서와 저자 리스트 출력하기(MySQL, Level2) (0) 2022.12.22 [코딩테스트] 프로그래머스 - 취소되지 않은 진료 예약 조회하기(MySQL, Level4) (0) 2022.12.16 [코딩테스트] 프로그래머스 - 서울에 위치한 식당 목록 출력하기(MySQL, Level4) (0) 2022.12.14 [코딩테스트] 프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 구하기(MySQL, Level4) (0) 2022.12.14 [코딩테스트] 프로그래머스 - 불량 사용자(Java, Level3) (1) 2022.12.12