Menu
Coddy logo textTech

집계 함수

Coddy SQL 여정의 기초 섹션에 포함된 레슨. 72개 중 68번째.

집계 함수는 현재 행까지 AVG() 또는 MAX()나 다른 집계 함수의 값을 계산하는 데 사용됩니다.
예를 들어, 각 종료 기간까지 얻은 최대 revenue를 계산할 수 있습니다:

monthrevenueregion
440East
520East
660West
755West
861East
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

다음을 반환합니다:

monthrevenuemax_revenue
44040
52040
66060
75560
86161

4월과 5월의 최대 revenue는 40이고, 6월과 7월에는 60이며, 8월에는 61입니다. 새로운 더 큰 revenue를 찾으면 이전 값을 버리고 그때까지의 가장 큰 값을 사용하기 때문입니다.

AVG() 함수는 다음과 같이 표시됩니다:

SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1
monthrevenueavg_revenue
44040
52030
66040
75543.75
86147.2

PARTITION BY를 사용하면 특정 category별로 계산을 그룹화할 수도 있습니다. 예:

SELECT month, revenue, region,
MAX(revenue) OVER (PARTITION BY region ORDER BY month ASC) as max_revenue
FROM table1

다음과 같은 결과를 얻습니다:

monthrevenueregionmax_revenue
440East40
520East40
660West60
755West60
861East61

이제 각 region별로 최대값이 별도로 계산됩니다. East region과 West region은 각각 독립적으로 자체 누적 최대값을 유지합니다.

challenge icon

챌린지

쉬움

사용 가능한 테이블 및 열:

  • books: book, page, words

각 책에 대해 책 이름, 전체 페이지 수, 각 페이지의 단어 수를 표시하고 다음을 계산하세요:

  1. 해당 책의 모든 페이지에서 발견되는 최대 단어 수
  2. 책 전체의 페이지당 평균 단어 수
  3. 현재 페이지의 단어 수와 책의 페이지당 평균 단어 수 간의 차이

결과를 책과 페이지 번호순으로 정렬하여 표시하세요.

다음 열을 반환하세요:

  • book
  • page
  • words
  • max_words_in_book
  • avg_words_per_page
  • diff_from_avg

직접 해보기

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: SQL 플레이그라운드