강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Junku Kang님의 프로필 이미지
Junku Kang

작성한 질문수

초보자를 위한 BigQuery(SQL) 입문

2-6. 연습 문제 10~12번

안녕하세요! 11번 문제 query문에 관해 질문드립니다

해결된 질문

작성

·

5

0

저 같은 경우 가장 많은 type1이 뭐냐는 질문에 max함수를 이용했는데, 선생님은 count랑 order by로 사용하셨더라고요. max함수를 사용하지 않은 이유가 있으신가요?

아래는 제가 작성한 query입니다

SELECT
  MAX(type1) 
FROM `basic.pokemon`
WHERE
  type2 is not null

답변 1

0

카일스쿨님의 프로필 이미지
카일스쿨
지식공유자

안녕하세요. MAX 함수는 값들 중에 제일 큰 값을 반환하는 함수고, 가장 많은 type1이 나오는 것이 아닙니다. 따라서 COUNT를 하고 나서 정렬을 하는 것이 올바른 방법입니다

type1은 타입이 저장되어 있는데(예 : fire, water ...) 이 값들은 문자 데이터입니다. 문자 데이터에서 값이 가장 큰 것은(영어 기준) z가 a보다 큽니다. 따라서 알파벳에서 제일 뒤에 있는 값이 나오게 됩니다. type1에서 여러 값이 있는데 w로 끝나는 water가 제일 뒤에 있는 알파벳이라 water가 나올텐데 그건 그냥 type1에서 제일 큰 값이 나온 것이고 제일 많은 타입은 아닙니다. 이걸 확인하기 위해서 원본 데이터를 보고 제일 많은 type1을 직접 세보는 것도 방법입니다

즉, 현재 MAX 함수에 대해 제일 많은 것을 보여준다고 생각하신 것 같은데 값 중에 제일 큰 값을 반환할 뿐 갯수를 세는 함수는 아니라고 생각해주시면 될 것 같아요.

Junku Kang님의 프로필 이미지
Junku Kang

작성한 질문수

질문하기