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

아경님의 프로필 이미지
아경

작성한 질문수

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

총 정리 문제 풀이 4~5번

총 정리 문제 풀이 4번 질문 있습니다.

작성

·

10

0

안녕하세요. 선생님,

총 정리 문제 풀이 4번을 강의를 보면서 쿼리를 따라 작성해봤는데 결과가 pokemon_cnt: 1, avg_level: 42.0으로 다르게 나오네요.. 몇 번을 다시 새로 써도 똑같은 결과가 나옵니다 ㅠㅠ

WITH winner_cnts AS (
SELECT
	winner_id,
	COUNT(winner_id) AS win_cnt
FROM basic.battle
WHERE
	winner_id IS NOT NULL
GROUP BY
	winner_id
), top_winner AS (
	SELECT
		wc.winner_id AS trainer_id,
		wc.win_cnt,
		t.name AS trainer_name
	FROM winner_cnts AS wc
	LEFT JOIN basic.trainer AS t
	ON wc.winner_id = t.id
	ORDER BY
		wc.win_cnt DESC
	LIMIT 1
)
SELECT
	tw.trainer_id,
	tw.trainer_name,
	tw.win_cnt,
	COUNT(tp.pokemon_id) AS pokemon_cnt,
	ROUND(AVG(tp.level),2) AS avg_level
FROM top_winner AS tw
LEFT JOIN basic.trainer_pokemon AS tp
ON tw.trainer_id = tp.id
WHERE
	tp.status IN("Active", "Training")
GROUP BY
	tw.trainer_id,
	tw.trainer_name,
	tw.win_cnt

답변 1

0

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

안녕하세요.

 

오타가 있네요.

 

tw.trainer_id = tp.id

 

7분 50초 쯤을 잘 보시면 아래와 같이 말씀드렸습니다.

tw.trainer_id = tp.trainer_id

 

대부분 오타 때문에 발생하는 경우가 많답니다. 발표 자료의 코드 부분을 보시면 코드가 있어서, 그 코드를 보시면서 확인해보셔도 좋을 것 같아요

아경님의 프로필 이미지
아경

작성한 질문수

질문하기