안녕하세요! 11번 문제 query문에 관해 질문드립니다
저 같은 경우 가장 많은 type1이 뭐냐는 질문에 max함수를 이용했는데, 선생님은 count랑 order by로 사용하셨더라고요. max함수를 사용하지 않은 이유가 있으신가요?
아래는 제가 작성한 query입니다
SELECT
MAX(type1)
FROM `basic.pokemon`
WHERE
type2 is not null
Answer 1
0
안녕하세요. MAX 함수는 값들 중에 제일 큰 값을 반환하는 함수고, 가장 많은 type1이 나오는 것이 아닙니다. 따라서 COUNT를 하고 나서 정렬을 하는 것이 올바른 방법입니다
type1은 타입이 저장되어 있는데(예 : fire, water ...) 이 값들은 문자 데이터입니다. 문자 데이터에서 값이 가장 큰 것은(영어 기준) z가 a보다 큽니다. 따라서 알파벳에서 제일 뒤에 있는 값이 나오게 됩니다. type1에서 여러 값이 있는데 w로 끝나는 water가 제일 뒤에 있는 알파벳이라 water가 나올텐데 그건 그냥 type1에서 제일 큰 값이 나온 것이고 제일 많은 타입은 아닙니다. 이걸 확인하기 위해서 원본 데이터를 보고 제일 많은 type1을 직접 세보는 것도 방법입니다
즉, 현재 MAX 함수에 대해 제일 많은 것을 보여준다고 생각하신 것 같은데 값 중에 제일 큰 값을 반환할 뿐 갯수를 세는 함수는 아니라고 생각해주시면 될 것 같아요.
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
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
11번 문제 GROUP BY 사용하는 이유
0
98
1
big query 쿼리 결과 컬럼 폭
0
107
3
battle 스키마 조건 복사 파일이 열리지 않아요.
0
127
1
6-5 데이터 검증 결과 예시문제
0
78
2
battle 스키마 조건 복사붙여넣기용 자료
0
113
2
17번 문제 질문드립니다.
0
173
3

