오늘도 평화로운 주인장의 SQL 풀기
나머지는 있는대로 넣으면 돼서 안힘들었는데
총합에서 조금 애먹었다
우선 PRODUCT_ID별로 안나누면 같은 PRODUCT_ID 라도 따로 집계돼서 GROUP BY 사용
SELECT절에서 가격이랑 양 곱한거 합했다
이러면 총합은 완료
하지만 여전히 오답이었다
예시를 잘 보니 만들어진게 안나가는 경우도 있어서
FOOD_PRODUCT에 left join하게 만들었다
그랬더니 통과됨!
SELECT FOOD_PRODUCT.PRODUCT_ID, FOOD_PRODUCT.PRODUCT_NAME, sum(FOOD_PRODUCT.PRICE*FOOD_ORDER.AMOUNT) as "TOTAL_SALES"
FROM FOOD_PRODUCT LEFT JOIN FOOD_ORDER ON FOOD_PRODUCT.PRODUCT_ID = FOOD_ORDER.PRODUCT_ID
WHERE FOOD_ORDER.PRODUCE_DATE LIKE '2022-05%'
GROUP BY FOOD_PRODUCT.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, FOOD_PRODUCT.PRODUCT_ID ASC;
뤼튼에게 물어본 코드 간소화
테이블 이름을 간소화시키는 건 생각도 안해봤는데
FROM절에서 테이블 이름 뒤에 간소화할 단어 넣으면 끝!
실무는 모르겠고
나는 문제풀때 헷갈려서
따로 이름을 간소화하진 않을 거 같다
SELECT
p.PRODUCT_ID,
p.PRODUCT_NAME,
SUM(p.PRICE * o.AMOUNT) AS TOTAL_SALES
FROM
FOOD_PRODUCT p
LEFT JOIN
FOOD_ORDER o ON p.PRODUCT_ID = o.PRODUCT_ID
WHERE
o.PRODUCE_DATE LIKE '2022-05%'
GROUP BY
p.PRODUCT_ID
ORDER BY
TOTAL_SALES DESC, p.PRODUCT_ID ASC;
대답 중에 이해가 안되는게 있어서 다시 질문했는데
틀렸다고 사과했다
내가 맞음 0.< V
출처: 프로그래머스
'코딩테스트' 카테고리의 다른 글
[프로그래머스] [SQL] 재구매가 일어난 상품과 회원 리스트 구하기 (1) | 2023.12.18 |
---|---|
[프로그래머스] [SQL] 취소되지 않은 진료 예약 조회하기 (0) | 2023.12.13 |
[프로그래머스] [SQL] 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2023.12.04 |
[프로그래머스] [SQL] 카테고리 별 도서 판매량 집계하기 (0) | 2023.12.02 |
[프로그래머스] [SQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2023.11.27 |