PostgreSQL 요약 통계와 윈도 함수
Michel Semaan
Data Scientist
2004년 이후 미국 하계 올림픽 금메달 합계 및 누적 합계
| Year | Medals | Medals_RT |
|------|--------|-----------|
| 2004 | 116 | 116 |
| 2008 | 125 | 241 |
| 2012 | 147 | 388 |
원반던지기 디펜딩 챔피언 현황
| Year | Champion | Last_Champion | Reigning_Champion |
|------|----------|---------------|-------------------|
| 1996 | GER | null | false |
| 2000 | LTU | GER | false |
| 2004 | LTU | LTU | true |
| 2008 | EST | LTU | false |
| 2012 | GER | EST | false |
Year, CitySport, Discipline, EventAthlete, Country, GenderMedalGROUP BY 집계 함수와 유사하지만, 모든 행이 결과에 유지됩니다활용 사례
쿼리
SELECT
Year, Event, Country
FROM Summer_Medals
WHERE
Medal = 'Gold';
결과
| Year | Event | Country |
|------|----------------------------|---------|
| 1896 | 100M Freestyle | HUN |
| 1896 | 100M Freestyle For Sailors | GRE |
| 1896 | 1200M Freestyle | HUN |
| ... | ... | ... |
쿼리
SELECT
Year, Event, Country,
ROW_NUMBER() OVER () AS Row_N
FROM Summer_Medals
WHERE
Medal = 'Gold';
결과
| Year | Event | Country | Row_N |
|------|----------------------------|---------|-------|
| 1896 | 100M Freestyle | HUN | 1 |
| 1896 | 100M Freestyle For Sailors | GRE | 2 |
| 1896 | 1200M Freestyle | HUN | 3 |
| ... | ... | ... | ... |
쿼리
SELECT
Year, Event, Country,
ROW_NUMBER() OVER () AS Row_N
FROM Summer_Medals
WHERE
Medal = 'Gold';
FUNCTION_NAME() OVER (...)ORDER BYPARTITION BYROWS/RANGE PRECEDING/FOLLOWING/UNBOUNDEDPostgreSQL 요약 통계와 윈도 함수