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 검증 파트의 핵심은 데이터 결과를 검증하는 흐름이므로 어떻게 검증하는지를 중점적으로 이해하시면 될 것 같아요
1번 문제 질문
0
10
2
3번 문제 질문!
0
41
2
1-2 battle 테이블 설정 질문 있습니다.
0
34
1
12강 집계 함수 8번 연습문제 질문
0
41
1
6-5 질문 있습니다!
0
57
3
vs code
0
93
2
수업자료 다운
0
110
2
쿼리 화면 문의
0
114
2
4-5. 3번 문제 질
0
108
2
JOIN 1번 문제
1
114
2
battle 테이블 생성 시 생성 오류
0
106
1
5-6. 4번 문제 WHERE 조건의 위치 문의
0
86
2
5-6. 연습문제 4번, type2에 대해서는 고려하지 않아도 될까요?
1
98
2
battle table 오류
0
117
2
location IS NOT NULL 을 굳이 안 써도 되지 않나요?
0
88
2
12강 집계 함수
0
74
1
2-6. 연습 문제 1~3번
0
76
1
안녕하세요! 11번 문제 query문에 관해 질문드립니다
0
78
1
2-6 #2 WHERE vs. HAVING절 사용 여부 차이
0
92
1
섹션 별 퀴즈
0
91
1
espanso 설치 완료 후 프로그램 실행 문제
0
154
2
Syntax에러
0
124
2
4-5. 1번 문제 TIMESTAMP 관련 질문
0
122
2
시각화 도구 사용
0
141
2





