inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

6-5. 데이터 결과 검증 예시

6-5 데이터 결과 검증 예시 쿼리 질문

해결된 질문

109

hoony19980

작성한 질문수 2

0

안녕하세요 카일님, 6-5. 데이터 결과 검증 예시 강의 중 아래 쿼리에서 total_battle_count 와 win_ratio 를 각각 구할때 COUNT(battle_id) 와 COUNT(DISTINCT battle_id) 로 쓰신 이유가 궁금합니다.

무엇이 됐건 둘은 통일되어야 하는게 아닌지, total_battle_count 를 구할때도 엄밀하게는 DISTINCT 를 썼어야 하는게 아닌지 궁금합니다 !

SELECT
  trainer_id,
  COUNTIF(battle_result = 'Win') AS win_count,
  COUNT(battle_id) AS total_battle_count,
  COUNTIF(battle_result = 'Win') / COUNT(DISTINCT battle_id) AS win_ratio
FROM battle_with_result
GROUP BY
  trainer_id

sql bigquery 데이터-리터러시

답변 1

0

카일스쿨

안녕하세요. 말씀하신대로 둘 다 통일하는게 더 좋습니다.

저 쿼리를 작성하는 과정에 생략되어 있는 것이 있는데, 최초엔 COUNT(battle_id) AS total_battle_count와 COUNT(DISTINCT battle_id) AS total_battle_count2를 해서 두개가 같은지 확인하는 과정이 있었는데 그 후에 total_battle_count2을 win_ratio에 사용해서 그렇네요.

 

정리하면 DISTINCT을 사용하나 안하나 값이 동일하다고 확인하다가 쿼리를 작성하다가 생긴 이슈입니다. 저도 의도를 하지 않았던 부분이라 이제 인지했네요

 

6-5 검증 파트의 핵심은 데이터 결과를 검증하는 흐름이므로 어떻게 검증하는지를 중점적으로 이해하시면 될 것 같아요

1

hoony19980

아하 그렇군요 ! 빠르게 답변주셔서 감사합니다 .. !

1

카일스쿨

쿼리 자세히 봐주셔서 감사합니다!!

vs code

0

48

2

수업자료 다운

0

46

2

쿼리 화면 문의

0

70

2

4-5. 3번 문제 질

0

64

2

JOIN 1번 문제

1

73

2

battle 테이블 생성 시 생성 오류

0

68

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

81

2

4-5. 1번 문제 TIMESTAMP 관련 질문

0

87

2

시각화 도구 사용

0

109

2

11번 문제 GROUP BY 사용하는 이유

0

98

1

big query 쿼리 결과 컬럼 폭

0

107

3

battle 스키마 조건 복사 파일이 열리지 않아요.

0

128

1

6-5 데이터 검증 결과 예시문제

0

78

2

battle 스키마 조건 복사붙여넣기용 자료

0

113

2