[Hackerank] Top earners , 서브쿼리를 써야만하나요 mysql
by darami[Hackerrank] Top earners
Q:
제가 문제를 먼저 풀어 보았을 때 아래와 같은 방식으로 풀이를 했는데요.
서브쿼리를 써서 풀면 성능이 더 좋은가요? 어떤 점이 더 좋은지 궁금합니다.
A:
안녕하세요, 답변 드립니다.
문의주신 내용의 경우 성능보다는 추출 정확도와 관련이 있습니다.
이 문제처럼 months*salary의 최댓값이 1개이기 때문에 LIMIT 1을 써서 추출해도 됩니다. 하지만 1위가 여러 개인 경우에는 LIMIT 사용 시 정확히 추출이 되지 않기 때문에 서브쿼리와 같이 다른 방식을 사용해야 합니다.
예시 - 상품 카테고리 별 주문 수
(주문 수가 가장 많은 카테고리를 추출할 경우 A,B 가 모두 출력되어야 하지만 LIMIT 1을 사용할 경우 A또는 B 만 출력.)
카테고리 주문 수
A 1,000
B 1,000
C 500
출처: [백문이 불여일타] - 인프런 SQL 고급 강의 중 본인의 질의 응답 내용
'SQL > HackerRank,프로그래머스' 카테고리의 다른 글
[HackerRank] Ollivander's Inventory 문제 풀이 mysql (0) | 2022.05.14 |
---|---|
[HackerRank] Top Competitors 문제 풀이 mysql (0) | 2022.05.14 |
[HackerRank] Weather Observation Station 18,19,20 Mysql 풀이 (0) | 2022.05.11 |
[HackerRank] New Companies 문제 풀이 Mysql (0) | 2022.05.09 |
[Hacker Rank] Binary Tree Nodes 문제 풀이 복습 My sql (0) | 2022.05.07 |
블로그의 정보
다람
darami