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을 많이썼던데 뭐라하지 메소드라고하나 예약어? 같은걸 써서 푸는건 파이썬 라이브러리 사용해서 문제 쉽게푸는 느낌이라 이렇게 메소드? 안쓰고 푸는방식이 성능이 더좋을테니 이대로 풀엇고 풀어내서 뿌듯하다
'Codingtest' 카테고리의 다른 글
Mysql 공부기록 - 5 (식품분류별 가장 비싼 식품의 정보 조회하기 level4) (0) | 2023.11.03 |
---|---|
Mysql 공부기록 - 4 (오프라인/온라인 판매 데이터 통합하기 level4) (0) | 2023.10.31 |
Mysql 공부기록 - 2 (프로그래머스 주문량이 많은 아이스크림들 조회하기 level4) (0) | 2023.10.29 |
Mysql 공부기록-1 (1) | 2023.10.28 |
[백준 2960번/Python] 에라토스테네스의 채 구현문제 파이썬풀이 (0) | 2023.02.05 |