전공/프로그래머스
(SQL) 5월 식품들의 총매출 조회하기
yha97
2023. 10. 4. 21:43
날짜 : 2023. 10. 04
사용 언어 : oracle
문제
코드
-- 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회
-- 결과는 총매출을 기준으로 내림차순 정렬
-- 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬
select a.product_id, a.product_name, a.price * b.total_amount as total_sales
from food_product a
join (
select product_id, sum(amount) as total_amount
from food_order
where to_char(produce_date, 'yyyymm') = '202205'
group by product_id
) b on a.product_id = b.product_id
order by total_sales desc, a.product_id
;
풀이
- 상품정보를 담은 테이블을 a로 놓고, 2022년 5월에 생산된 제품들 중 상품 id와 각 상품별 생산량의 합을 구한 서브쿼리를 b로 설정한 다음 a와 b를 조인한다.
- 그 다음 상품 id, 상품명, 매출액(상품 가격 * 총 생산량)을 구한 다음 조건에 맞게 정렬한다.
알게된 점
- 이전에 풀었던 문제였고 이번에는 오라클로 풀이했다.
참고 사이트
-