일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- map
- 머신러닝
- Machine Learning
- sql오답노트
- coursera
- 파이썬
- 머신러닝강의
- 코세라머신러닝
- 프로그래머스SQL
- 프로그래머스
- 안드류응
- sql
- groupby
- 코세라강의
- mysql
- 인프런sql강의
- SQL공부
- programmers
- 경제공부
- 알고리즘
- Algorithm
- orderby
- sorted
- POP
- 코세라머신러닝강의
- DATE_FORMAT
- Andrew NG
- PYTHON
- 코세라
- WHERE
Archives
- Today
- Total
미래를 예측하는 데이터분석가
[MYSQL] 주문량이 많은 아이스크림들 조회하기 본문
SELECT FIRST_HALF.FLAVOR
FROM FIRST_HALF ,(SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL
FROM JULY
GROUP BY FLAVOR) AS TMP
WHERE TMP.FLAVOR = FIRST_HALF.FLAVOR
ORDER BY (TOTAL + TOTAL_ORDER) DESC
LIMIT 3
INNER JOIN을 사용하지 않고, 서브쿼리를 사용해 FLAVOR 별 7월 총 주문량을 TOTAL로 만들었습니다.
만들어둔 TOTAL변수를 가지고, 상반기 주문량과 WHERE 사용해 테이블 조인하고, ORDER BY에서 총 아이스크림 주문량 합계로 내림차순으로 정렬해 가장 큰 값 3개만 뽑았습니다.
JOIN을 사용하면 JULY의 FLAVOR값의 중복이 있기 때문에 FIRST_HALF의 TOTAL_ORDER값이 중복되어 더해지는 문제점이 생기기 때문에 서브쿼리를 사용해 쿼리문을 만드는 것이 포인트였습니다.