본문 바로가기
Codingtest

Mysql 공부기록 - 3 ( 프로그래머스 5월 식품들의 총매출 조회하기 leve4)

by Runningturtle 2023. 10. 30.

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

 

프로그래머스

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

programmers.co.kr

 

 

 

-- 코드를 입력하세요
SELECT FOOD_PRODUCT .PRODUCT_ID, PRODUCT_NAME,  sum(AMOUNT*PRICE) as TOTAL_SALES
from FOOD_PRODUCT,FOOD_ORDER where FOOD_ORDER.PRODUCE_DATE Like '%2022-05%'  and FOOD_ORDER.PRODUCT_ID =FOOD_PRODUCT.PRODUCT_ID
group by FOOD_PRODUCT.PRODUCT_NAME
order by TOTAL_SALES desc,PRODUCT_ID asc

 

문제풀이

 

두 테이블을 조인을한다

문제에서 제시한대로 날짜가 22년 5월 생산물품만 나오도록 조건을 준다 ( Like %'2022-05' )

문제에서 물품별 매출을 구하라 했으니 물품별로 묶어준다 ( Group by )

일반적으로 매출기준 내림차순, 일반적이지 않을시 오름차순이니 desc,asc를 차례로 준다.

 

실수한점

  sum(AMOUNT*PRICE) 에서 Group by로 묶었으니 수량*가격 하면 알아서 그룹별 총액이 나올줄알았는데 아니어서 틀렸다. 어찌보면 sum붙이는게 당연한데 역시 여러번 생각해서 짚고 넘어가는 습관이 필요한듯하다.

 

정답을들보니 LEFT JOIN을 많이썼던데 뭐라하지 메소드라고하나 예약어? 같은걸 써서 푸는건 파이썬 라이브러리 사용해서 문제 쉽게푸는 느낌이라 이렇게 메소드? 안쓰고 푸는방식이 성능이 더좋을테니 이대로 풀엇고 풀어내서 뿌듯하다