SELECT F.FLAVOR
FROM FIRST_HALF F JOIN JULY J
USING(FLAVOR)
GROUP BY FLAVOR
ORDER BY SUM(F.TOTAL_ORDER) + SUM(J.TOTAL_ORDER) DESC
LIMIT 3;
처음에 SUM 연산자 없이 두 테이블에 대한 TOTAL_ORDER 값만을 더한 뒤 , 기준 컬럼을 SHIPMENT_ID로 설정하고 조인시켜 틀렸던 문제
더보기
처음 제출했던 쿼리
SELECT F.FLAVOR
FROM FIRST_HALF F JOIN JULY J
USING(SHIPMENT_ID)
GROUP BY FLAVOR
ORDER BY F.TOTAL_ORDER + J.TOTAL_ORDER DESC
LIMIT 3;
정답이 나오지 않아 고민해보니 FLAVOR를 기준으로 조인시키는게 맞다는 생각이 들었다.
이어서 FLAVOR 별로 SHIPMENT_ID가 다를 수도 있겠다는 생각에 ORDER BY에서 SUM으로 FLAVOR 마다 TOTAL_ORDER 값을 합산한 뒤 더하여 내림차순으로 정렬시켰다.
보통 고유컬럼, 기본키가 ID인 경우가 많다보니 당연히 조인도 ID값으로 해야한다는 생각에 FLAVOR를 기준으로 조인시킬 생각을 못했었는데, 이름명도 고유한 값이 될 수 있다는 걸 깨닫게 해준 문제!
'SQL' 카테고리의 다른 글
programmers : 진료과별 총 예약 횟수 출력하기 (0) | 2023.01.13 |
---|---|
programmers : 5월 식품들의 총매출 조회하기 (0) | 2023.01.13 |
programmers : 조건에 맞는 도서와 저자 리스트 출력하기 (0) | 2023.01.12 |
ORACLE DUAL (0) | 2023.01.10 |
programmers : 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2022.12.23 |