inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실습으로 손에 잡히는 SQLD(2과목)

집계 함수 SUM, AVG, MIN, MAX, COUNT

섹션13-집계함수 SUM, AVG, MIN, AVG, COUNT 강의

90

rudans

작성한 질문수 1

0

해당 강의의 1:39 초에

ORDER BY sal ROWS UNBOUNDED PRECEDING을 추가적으로 넣어주셨는데

avg의 결과값이 이해가 안돼서 질문드리게 되었습니다.

 

avg를 계산할 때도 rows unbounded preceding이 적용되었으니 [CLERK] 파티션에서는
- SMITH : 800
- ADAMS : (800+950) /2 = 875

 

이런식으로 계산이 되어야 하는건 아닌지 궁금합니다.

하단 테이블에 실제 계산된 값을 보니, [CLERK] 파티션의 AVG 값은 (800 + 950 + 1100+ 1300) / 4 = 1,037.5 값을 출력한 것으로 보이는데 이유가 궁금합니다!

sql oracle mssql SQLD

답변 2

0

땃지

안녕하세요, rudans님.

선생님께서 예리하게 잘 보셨습니다.

정확히는 두번째가 ADAMS가 아니고 JAMES 이긴 합니다만 추측하신 것이 맞습니다.

제가 쿼리를 수정하고 실행하지 않아서 혼동을 드렸습니다.

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. rudans님.

질문해주신 부분은 SQL의 윈도우 함수에서 ROWS UNBOUNDED PRECEDING 절이 어떻게 작동하는지를 이해하는데 중점을 두고 있습니다. ROWS UNBOUNDED PRECEDING는 현재 행까지의 모든 이전 행들을 포함하여 계산을 수행하라는 지시입니다. 따라서 각 행의 평균을 계산할 때 해당 행까지의 모든 이전 행의 값들이 포함됩니다.

예를 들어, CLERK 파티션 내에서:

  • SMITH: 첫 번째 행이므로 값 800만 포함되어 평균이 800입니다.

  • ADAMS: SMITH와 ADAMS의 두 행이 포함되므로, 평균은 ((800 + 950) / 2 = 875)로 계산됩니다.

하지만 여기에 주의해야 할 부분이 있습니다. 질문에서 언급하신 예시는 특정 상황에서 전체 파티션 집계의 결과일 수 있습니다. ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW와 같은 구문이 제공되지 않았다면, PARTITION BY는 전체 파티션을 대상으로 하여, 각 파티션의 모든 행을 전체로 집계하여 평균을 나타낼 수 있습니다.

이러한 메커니즘을 제대로 활용하기 위해서 웬도우 함수의 동작 특징을 이해하는 것이 중요합니다. 질문에서 다룬 상황은 모든 해당 요소의 집계를 사용하여 각 파티션의 행간 윈도우를 형성합니다. 따라서 [CLERK] 파티션의 전체 값으로 나눠진 평균이 계산된 것입니다.

추가적으로 아래의 링크에서 이와 관련된 내용을 더 자세히 살펴볼 수 있습니다:
- 윈도우 함수와 GROUP BY의 차이

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

실습소실행안되요

0

35

1

제공된 홈페이지 로그인 ,출력값, 건의사항 오류

1

46

1

로그인이 안되네요

0

33

1

Intersect로 봄학기에 등록된 수업 검색 영상에서 궁금한 점이 있습니다.

0

46

2

오타가 있는거같습니다.

0

64

2

28번 커리큘럼 제목 오타 있어요.

0

56

1

노랭이 책에서 시험범위는 과목1,과목2 만 인가요? 과목3은 해당하지 않나요?

0

370

2

환경설정 SSO KeyStore not Available 오류

0

84

2

SSO KeyStore not available

0

79

2

group sets(col1)

0

112

2

1/24/60 은 분을 의미하는거죠?

1

104

2

윈도우 환경설정 오류 도움 요청드립니다~

0

72

1

SQL Server 사용 질문

0

105

2

노랭이문제분석 경로 - 페이지 없음 확인

0

90

2

학생, 등록, 수업 데이터세트 로드 오류

0

108

2

ERD 그리기?

0

86

2

강의내용이랑 책페이지, 문제번호롱 아예달라요 ...

0

120

3

sales 데이터 모델 오류

0

77

2

mac sql server 연결

0

79

1

커리큘럼 116번 오류 질문입니당

0

52

0

환경설정 오류 Invalid connection string format, a valid format is: "host:port:sid"

0

158

2

환경설정오류 Invalid connection string format, a valid format is: "host:port:sid"

0

145

1

노랭이 책 필수 인가요?

0

158

2

Dbeaver 설정이 안되요

0

126

3