6-5 데이터 결과 검증 예시 쿼리 질문
안녕하세요 카일님, 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
답변 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 검증 파트의 핵심은 데이터 결과를 검증하는 흐름이므로 어떻게 검증하는지를 중점적으로 이해하시면 될 것 같아요
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





