이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 9.22. 창 스포츠 토토버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.21. 창 기능

창 기능현재 쿼리 행과 관련된 행 집합에 걸쳐 계산을 수행하는 기능을 제공합니다. 참조PostgreSQL : 문서 : 4800 |500 토토 베이00 |4800 |6000 토토 베이0 |6000 토토 베이0 |4800 |4800 |500 토토 베이0 토토 베이0 | : 4800 |6000 토토 베이0 |6000 토토 베이0 |.4800 |6000 토토 베이0 |6000 토토 베이0 |4800 |500 토토 베이0 |. 창 함수이 기능에 대한 소개 및섹션 4.2.8구문 세부정보를 확인하세요.

내장된 창 기능은 다음에 나열되어 있습니다.표 9.60. 이 기능에 유의하세요.반드시창 배트맨 토토 구문을 사용하여 호출됩니다. 즉,이상절이 필요합니다.

이러한 배트맨 토토 외에도 모든 내장 또는 사용자 정의 범용 또는 통계 집계(즉, 순서 집합 또는 가상 집합 집계가 아님)를 창 배트맨 토토로 사용할 수 있습니다. 참조PostgreSQL : 문서 : 12 : 9.20. 윈 토토 기능내장 집계 목록입니다. 집계 함수는 다음 경우에만 창 함수로 작동합니다.이상절이 호출 뒤에 나옵니다. 그렇지 않으면 비창 집계로 작동하고 전체 세트에 대해 단일 행을 반환합니다.

표 9.60. 범용 창 함수

기능 반환 유형 설명
row_number() 비긴트 파티션 내의 현재 행 수(1부터 계산)
순위() bigint 간격이 있는 현재 행의 순위; 와 동일row_number첫 번째 피어의
dense_rank() 비긴트 간격 없이 현재 행의 순위; 이 함수는 피어 그룹을 계산합니다
percent_rank() 배정밀도 현재 행의 상대 순위: (순위- 1) / (총 파티션 행 - 1)
cume_dist() 배정밀도 누적 분포: (이전 또는 현재 행과 피어 파티션 행 수) / 총 파티션 행
ntile(num_buckets 정수) 정수 1부터 인수 값까지의 정수, 파티션을 최대한 동일하게 나눕니다.
지연( 모든 요소 [, 오프셋 정수 [, 기본값 모든 요소 ]]) 동일한 유형 반환행에서 평가됨오프셋파티션 내 현재 행 앞의 행; 해당 행이 없으면 대신 반환합니다.기본값(다음과 동일한 유형이어야 합니다.). 둘 다오프셋그리고기본값현재 행을 기준으로 평가됩니다. 생략된 경우,오프셋기본값은 1이며기본값널로
리드( 모든 요소 [, 오프셋 정수 [, 기본값 모든 요소 ]]) 동일한 유형 반환행에서 평가됨오프셋파티션 내 현재 행 뒤의 행; 해당 행이 없으면 대신 반환합니다.기본값(다음과 동일한 유형이어야 합니다.). 둘 다오프셋그리고기본값현재 행을 기준으로 평가됩니다. 생략된 경우,오프셋기본값은 1이며기본값널로
첫 번째_값( 아무거나) 동일한 유형 반환창 프레임의 첫 번째 행에서 평가됨
마지막_값( 아무거나) 동일한 유형 반환창 프레임의 마지막 행인 행에서 평가됨
n번째_값( 모든, n번째 정수) 동일한 유형 반환다음 행에서 평가됨n번째창틀 행(1부터 계산); 해당 행이 없으면 null

다음에 나열된 모든 기능표 9.60다음에 의해 지정된 정렬 순서에 따라 다름주문 기준관련 창 정의 절. 만 고려했을 때 구별되지 않는 행주문 기준열은 다음과 같다고 합니다동료. 네 가지 순위 함수( 포함cume_dist)는 모든 피어 행에 대해 동일한 답변을 제공하도록 정의됩니다.

참고첫 번째_값, 마지막_값n번째_값다음의 행만 고려창틀: 기본적으로 파티션 시작부터 현재 행의 마지막 피어까지의 행이 포함됩니다. 이는 다음에 대해 도움이 되지 않는 결과를 제공할 가능성이 높습니다.마지막_값때때로 또한n번째_값. 적절한 프레임 사양을 추가하여 프레임을 재정의할 수 있습니다(범위, 또는그룹)에서이상절. 참조섹션 4.2.8프레임 사양에 대한 자세한 내용을 확인하세요.

집계 함수가 창 함수로 사용되면 현재 행의 창 프레임 내의 행을 집계합니다. 와 함께 사용되는 집계주문 기준그리고 기본 창 프레임 정의는 다음을 생성합니다.누계 합계원하는 것일 수도 있고 아닐 수도 있는 행동 유형입니다. 전체 파티션에 대한 집계를 얻으려면 다음을 생략하십시오.주문 기준또는 사용제한되지 않은 선행과 제한되지 않은 다음 사이의 행. 다른 프레임 사양을 사용하여 다른 효과를 얻을 수 있습니다.

참고

SQL 표준은 다음을 정의합니다.RESPECT NULLS또는NULL 무시옵션리드, 지연, 첫 번째_값, 마지막_값n번째_값. 이것은 구현되지 않았습니다.PostgreSQL: 동작은 항상 표준의 기본값과 동일합니다. 즉,RESPECT NULLS. 마찬가지로 표준의처음부터또는마지막부터옵션n번째_값구현되지 않음: 기본값만처음부터동작이 지원됩니다. (당신은 다음과 같은 결과를 얻을 수 있습니다.마지막부터반전하여주문 기준주문.)

cume_dist현재 행 및 해당 피어보다 작거나 같은 파티션 행의 비율을 계산합니다.퍼센트_순위현재 행이 파티션에 존재하지 않는다고 가정하고 현재 행보다 작은 파티션 행의 비율을 계산합니다.