_Han_
나의 개발 노트
_Han_
  • 분류 전체보기 (272)
    • 데이터 엔지니어링 (29)
    • 인프라 (3)
    • 추천시스템 (11)
    • 코딩테스트 (146)
    • 부트캠프 회고 (15)
    • 회고 (4)
    • 자격증 (1)
    • 파이썬 프로그래밍 (6)
    • 통계 (2)
    • Git (21)
    • 유니티2D (33)

최근 글

반응형
hELLO · Designed By 정상우.
_Han_

나의 개발 노트

[코딩테스트] 프로그래머스 주문량이 많은 아이스크림들 조회하기
코딩테스트

[코딩테스트] 프로그래머스 주문량이 많은 아이스크림들 조회하기

2022. 12. 9. 14:00
반응형

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

SELECT F.FLAVOR
FROM (SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL
      FROM FIRST_HALF
      GROUP BY FLAVOR) AS F
JOIN (SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL
      FROM JULY
      GROUP BY FLAVOR) AS J
ON F.FLAVOR = J.FLAVOR
ORDER BY (F.TOTAL+J.TOTAL) DESC
LIMIT 3

2개의 서브쿼리를 이용하여 문제를 해결하였습니다.

 

FROM문에서의 서브쿼리에서 FLAVOR로 그룹화를한뒤 TOTAL_ORDER를 모두 더하고 FLAVOR, TOTAL을 반환하는 테이블 F 를 만들었습니다.

F 테이블과 JOING하는 J 테이블 역시 위의 방식 동일하게 만들었습니다.

이렇게 만든 두 개의 테이블(F, J)을 FLAVOR를 기준으로 JOIN하였고 두개의 TOTAL 값을 더하여 내림차순(DESC) 정렬하고 상위 3(LIMIT 3)개의 값을 출력하여 해결하였습니다.

반응형

'코딩테스트' 카테고리의 다른 글

[코딩테스트] 프로그래머스 그룹별 조건에 맞는 식당 목록 출력하기 MySQL  (0) 2022.12.10
[코딩테스트] 프로그래머스 입양 시각 구하기(2) MySQL  (0) 2022.12.09
[코딩테스트] 프로그래머스 취소되지 않은 진료 예약 조회하기 MySQL  (0) 2022.12.08
[코딩테스트] 프로그래머스 년, 월, 성별 별 상품 구매 회원 수 구하기 MySQL  (0) 2022.12.08
[코딩테스트] 프로그래머스 서울에 위치한 식당 목록 출력하기 MySQL  (0) 2022.12.07
    '코딩테스트' 카테고리의 다른 글
    • [코딩테스트] 프로그래머스 그룹별 조건에 맞는 식당 목록 출력하기 MySQL
    • [코딩테스트] 프로그래머스 입양 시각 구하기(2) MySQL
    • [코딩테스트] 프로그래머스 취소되지 않은 진료 예약 조회하기 MySQL
    • [코딩테스트] 프로그래머스 년, 월, 성별 별 상품 구매 회원 수 구하기 MySQL
    _Han_
    _Han_
    학습한 것을 기록합니다.

    티스토리툴바