4-3. while 문 쿼리
예제 쿼리 결과에 대해 궁금한 점이 있어 질문 드립니다
쿼리 결과 i는 11이 왜 나왔는지 궁금합니다.
i 변수는 1,2,3,4,5,6,7,8,9,10,11 있는데, 쿼리 결과에서 MAX함수를 사용하지 않았는데도 11이 나온 이유는 뭔가요?쿼리 결과 sum_value는 25가 왜 나왔는지 궁금합니다.
sum_value 변수는 1,3,5,7,9 (홀수) 있는데, 쿼리 결과에서 sum함수를 사용하지 않았는데도 25가 나온 이유는 뭔가요?
답변 1
0
안녕하세요.
i가 11이 나온 이유
WHILE문에서 i는 1부터 값이 하나씩 추가합니다. (SET i = i + 1)
그래서 i가 10일 때까지 WHILE i <= max_value가 TRUE가 되어 연산이 진행됩니다. 그리고 나서 마지막에 SET i = i +1로 i가 11이 됩니다
WHILE i <= max_value에서 i는 11이 되고, max_value는 10입니다. 그래서 False를 반환해서 IF MOD(i, 2)를 실행하지 않고 바로 끝냅니다.
이 끝난 상태에서 i를 출력하라고 해서 i가 11이 됩니다
쿼리 결과 sum_value는 25가 왜 나왔는지 궁금합니다.
SET sum_value = sum_value + i를 사용해서 홀수일 때마다 값을 더하고 있었습니다
i가 1부터 11까지 실행되면서 홀수일 때마다 값을 더해서 마지막에 SELECT 할 때 25가 나왔습니다
정리하면
둘 다 WHILE 문 안에 로직에 의해 i가 11까지 나왔고, sum_value가 25가 나왔습니다.
WHILE문이 모두 실행되고 그 후에 쿼리를 해서 모두 실행이 된 시점의 i, max_value를 추출하게 되었습니다
최종 과제 제출
0
82
3
BigQuery 활용편 18강 질문있습니다!
0
84
1
리텐션 공부하다가 궁금한게 생겨 질문드립니다
0
83
2
안녕하세요 강사님 코호트 쿼리 공부하다가 의문점이 생겨서 문의드립니다
0
75
2
biquery 테이블 생성 오류 이슈
0
55
2
동일하게 쿼리를 작성했는데 화면과 다른 값이 나옵니다
0
73
2
[과제] 퍼널 PIVOT 테이블 작성하기
0
67
2
array 등
0
63
2
N day 리텐션 쿼리 관련 질문
0
63
2
이동평균 계산 시 order by 기본값은 뭔가요?
0
69
2
윈도우 연습문제 1번 질문
0
65
1
user_id에 NULL이 나오는데 정상인가요?
0
72
2
3-13 리텐션 과제 제출
0
94
2
최종 과제 제출
0
130
3
weekly retention 구하기 과제
0
90
2
1-9. 피벗 쿼리 작성
0
81
2
app_logs 테이블 생성 문제
0
73
2
Weekly Retention 구하기 완성하였습니다.
0
77
2
[과제] 퍼널 쿼리(피벗테이블 적용) 작성 완료
0
107
2
3-7 Weekly, Monthly Retention 쿼리 작성
0
92
2
정성 데이터 분석 방법 문의
0
165
1
최종 과제 제출
0
108
3
1-6 예시 문제 풀이
0
69
2
최종과제 제출
0
145
2





