Menu
Coddy logo textTech

Aggregation Functions

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

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

매출지역
440동부
520동부
660서부
755서부
861동부
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

이것은 반환합니다:

수익최대_수익
44040
52040
66060
75560
86161

4월과 5월의 최대 수익은 40이며, 5월과 6월의 수익은 60이고, 8월의 경우 61입니다. 이는 새로운 더 큰 수익을 발견하면 이전 것을 버리고 지금까지의 가장 큰 것을 사용하기 때문입니다.

AVG() 함수의 경우 다음과 같습니다:

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

PARTITION BY를 사용하여 특정 카테고리로 계산을 그룹화할 수도 있습니다. 예를 들어:

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

다음과 같은 결과를 주게 됩니다:

매출지역최대_매출
440동부40
520동부40
660서부60
755서부60
861동부61

이제 각 지역에 대해 최대값이 별도로 계산됩니다. East 지역과 West 지역은 각각 독립적으로 자신의 실행 최대값을 유지합니다.

challenge icon

챌린지

쉬움

사용 가능한 테이블 및 열:

  • <strong>books</strong>: <strong>book</strong>, <strong>page</strong>, <strong>words</strong>

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

  1. 그 책의 어떤 페이지에서 발견된 최대 단어 수
  2. 전체 책의 페이지당 평균 단어 수
  3. 현재 페이지의 단어 수와 책의 페이지당 평균 단어 수 간의 차이

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

다음 열을 반환하세요:

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

치트 시트

집계와 함께 사용하는 윈도우 함수는 현재 행과 관련된 행 집합에 걸쳐 값을 계산합니다. 실행 계산을 위해 OVER 절을 ORDER BY와 함께 사용하세요:

SELECT column, 
       MAX(column) OVER (ORDER BY column ASC) as running_max,
       AVG(column) OVER (ORDER BY column ASC) as running_avg
FROM table

PARTITION BY를 사용하여 카테고리별로 계산을 그룹화하세요:

SELECT column, category,
       MAX(column) OVER (PARTITION BY category ORDER BY column ASC) as max_per_category
FROM table

이것은 각 카테고리에 대해 별도로 최대값을 계산하며, 독립적인 실행 계산을 유지합니다.

직접 해보기

quiz icon실력 점검

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

기초의 모든 레슨