11번 문제 GROUP BY 사용하는 이유
안녕하세요! 11번 문제에서 GROUP BY를 필수로 사용해야 하는 이유가 궁금합니다.
11번 : pokemon 테이블 중 type2가 있으면서 가장 많은 수의 type1이 무엇인지에 대한 문제입니다.
저 같은 경우 GROUP BY를 빼고
SELECT type1
FROM pokemon.basic
WHERE type2 IS NOT NULL
ORDER BY type1 DESC
LIMIT 1;
이렇게 쿼리를 짰는데, 답은 똑같이 나와서,
GROUP BY를 사용하신 이유, 이 문제에서 GROUP BY를 사용해야 하는 이유가 궁금합니다.
Answer 1
1
안녕하세요. 민서님이 푸신 쿼리를 해석하면,
type2가 NULL이 아닌 포켓몬 중에 type1의 이름을 내림차순(즉, Z가 처음에 나오도록, A가 마지막에 나오도록)한 후, 1개만 출력해달라는 것입니다
제가 문제에서 냈던 것은 가장 많은 수의 type1이 무엇인지를 구해달라고 한 것입니다
즉, type1이 제일 많은 것을 구한 후에 그 기준으로 정렬을 해줘야 합니다
지금 문제에서는 우연히 Water 타입이 type1 기준으로 내림차순일 때 처음 값(W로 시작하므로)이고 수도 많아서 우연히 답이 맞은 케이스입니다
문제에서는 "가장 많은 수"의 type1을 달라고 한 것이고, 민서님의 ORDER BY type1은 type1을 단순히 정렬한 것입니다(많다는 것이 아니라 A-Z 기준으로 정렬)
vs code
0
48
2
수업자료 다운
0
46
2
쿼리 화면 문의
0
70
2
4-5. 3번 문제 질
0
63
2
JOIN 1번 문제
1
73
2
battle 테이블 생성 시 생성 오류
0
67
1
5-6. 4번 문제 WHERE 조건의 위치 문의
0
64
2
5-6. 연습문제 4번, type2에 대해서는 고려하지 않아도 될까요?
1
68
2
battle table 오류
0
68
2
location IS NOT NULL 을 굳이 안 써도 되지 않나요?
0
61
2
12강 집계 함수
0
48
1
2-6. 연습 문제 1~3번
0
49
1
안녕하세요! 11번 문제 query문에 관해 질문드립니다
0
49
1
2-6 #2 WHERE vs. HAVING절 사용 여부 차이
0
65
1
섹션 별 퀴즈
0
64
1
espanso 설치 완료 후 프로그램 실행 문제
0
102
2
Syntax에러
0
80
2
4-5. 1번 문제 TIMESTAMP 관련 질문
0
86
2
시각화 도구 사용
0
109
2
big query 쿼리 결과 컬럼 폭
0
107
3
battle 스키마 조건 복사 파일이 열리지 않아요.
0
127
1
6-5 데이터 검증 결과 예시문제
0
78
2
battle 스키마 조건 복사붙여넣기용 자료
0
113
2
17번 문제 질문드립니다.
0
173
3

