전공/프로그래머스

(SQL) 5월 식품들의 총매출 조회하기

yha97 2023. 10. 4. 21:43

날짜 : 2023. 10. 04

사용 언어 : oracle

 

문제

https://school.programmers.co.kr/learn/courses/30/lessons/131117?language=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, 상품명, 매출액(상품 가격 * 총 생산량)을 구한 다음 조건에 맞게 정렬한다.

 

 

알게된 점

- 이전에 풀었던 문제였고 이번에는 오라클로 풀이했다.

 

 

참고 사이트