SQL 고득점 Kit - 7.27

김동현·2024년 7월 27일

SQL 고득점 Kit

목록 보기
10/56

JOIN - 5월 식품들의 총매출 조회하기

문제

FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.

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

풀이

WITH may AS (SELECT * # 생산일자 2022년 5월 식품
FROM FOOD_ORDER 
WHERE PRODUCE_DATE LIKE '2022-05%') 

SELECT f.PRODUCT_ID, f.PRODUCT_NAME, sum(m.AMOUNT * f.PRICE) AS TOTAL_SALES
FROM may m 
INNER JOIN FOOD_PRODUCT f ON f.PRODUCT_ID = m.PRODUCT_ID
GROUP BY f.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, f.PRODUCT_ID

리뷰

  • WITH을 이용해서 생산일자가 2022년 5월인 조건의 테이블을 구성한다.
  • PRODUCT_ID를 기준으로 두 테이블을 조인하고 그냥 집계 함수를 사용하면 전체 연산이 되기 때문에 GROUP BY를 통해 PRODUCT_ID별 집계가 되도록 한다.

- https://velog.io/@dh99/SQL-%EA%B3%A0%EB%93%9D%EC%A0%90-Kit-7.25 오늘도 도전했는데 문제를 잘못 해석한 것 같다... 요구조건을 다 만족한다고 생각하는데 틀렸다고 하니 특히, 날짜에 대한 조건을 잘못 해석한 것인지 잘 모르겠어서 질문을 남겼는데 이것은 좀 더 있다가 풀어보려고 한다. (아시는 분 해석 좀 도와주세요 ㅠㅠ)

GitHub

https://github.com/lasentia/SQL_Study/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/4/131117.%E2%80%855%EC%9B%94%E2%80%85%EC%8B%9D%ED%92%88%EB%93%A4%EC%9D%98%E2%80%85%EC%B4%9D%EB%A7%A4%EC%B6%9C%E2%80%85%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0

profile
'The best way to get started is to quit talking and begin doing.'

0개의 댓글