| PostgreSQL 9.2.24 문서 | ||||
|---|---|---|---|---|
| 배트맨 토토 : 문서 : 9.2 : 집계 함수 | 위로 | 9장. 토토 및 연산자 | PostgreSQL : 문서 : 9.2 : 서브 배트맨 토토 표현식 | |
창 기능능력을 제공하다 관련된 행 집합에 대해 계산을 수행합니다. 현재 쿼리 행. 참조4800 |6000 토토 사이트 순위0 |4800 |6000 토토 사이트 순위0 |6000 토토 사이트 순위0 |_4800 |6000 토토 사이트 순위0 |6000 토토 사이트 순위0 |4800 |500 토토 사이트 순위0 |4800 |6000 토토 사이트 순위0 |6000 토토 사이트 순위0 |4800 |4800 |500 토토 사이트 순위0 토토 사이트 순위0 토토 사이트 순위0 |6이 기능에 대한 소개입니다.
내장된 창 기능은 다음에 나열되어 있습니다.표 9-48. 이 기능에 유의하세요.반드시창을 사용하여 호출됩니다. 토토 구문; 그건이상절 필수입니다.
이러한 기능 외에도 내장되거나 사용자 정의된 모든 기능 집계 토토는 창 토토로 사용될 수 있습니다(참조섹션 9.20목록을 보려면 내장 집계). 집계 토토는 창 토토 역할을 합니다. 경우에만이상절은 다음을 따릅니다. 전화하다; 그렇지 않으면 일반 집계로 작동합니다.
표 9-48. 범용 창 함수
| 기능 | 반환 유형 | 설명 |
|---|---|---|
row_number() |
비긴트 | 파티션 내의 현재 행 번호, 1부터 계산 |
순위() |
비진트 | 간격이 있는 현재 행의 순위; 와 동일row_number첫번째
동료 |
dense_rank() |
비긴트 | 간격 없이 현재 행의 순위; 이 기능 동료 그룹을 계산합니다 |
퍼센트_순위() |
배정밀도 | 현재 행의 상대 순위: (순위- 1) / (총 행 - 1) |
cume_dist() |
배정밀도 | 현재 행의 상대 순위: (행 수 이전 행 또는 현재 행과 피어) / (총 행) |
ntile(num_buckets 정수) |
정수 | 1부터 인수 값까지의 정수, 파티션을 가능한 한 균등하게 나누기 |
지연(값 모든 요소 [, 오프셋 정수 [, 기본값 모든 요소 ]]) |
동일한 유형값 | 반환값행에서 평가됨오프셋현재 행 앞의 행 파티션 내에서; 그러한 행이 없으면 대신 반환기본값(이것은 다음과 같은 유형이어야 합니다.값). 둘 다오프셋그리고기본값존중하게 평가됩니다 현재 행으로. 생략된 경우,오프셋기본값은 1이며기본값널로 |
리드(값 모든 요소 [, 오프셋 정수 [, 기본값 모든 요소 ]]) |
동일한 유형값 | 반환값행에서 평가됨오프셋현재 행 다음 행 파티션 내에서; 그러한 행이 없으면 대신 반환기본값(이것은 다음과 같은 유형이어야 합니다.값). 둘 다오프셋그리고기본값존중하게 평가됩니다 현재 행으로. 생략된 경우,오프셋기본값은 1이며기본값널로 |
첫 번째_값(값 모든) |
동일한 유형값 | 반환값창의 첫 번째 행인 행에서 평가됨 프레임 |
마지막_값(값 모든) |
동일한 유형값 | 반환값창의 마지막 행인 행에서 평가됨 프레임 |
n번째_값(값 모든,
n번째 정수) |
동일한 유형값 | 반환값행에서 평가됨n번째창틀의 행 (1부터 계산); 해당 행이 없으면 null |
다음에 나열된 모든 기능표 9-48다음에 의해 지정된 정렬 순서에 따라 다름주문 기준관련 창의 절 정의. 에서 구별되지 않는 행주문 기준주문은 다음과 같다고 합니다동료; 네 가지 순위 함수는 다음과 같이 정의됩니다. 두 개의 피어 행에 대해 동일한 대답을 제공합니다.
참고첫 번째_값,
마지막_값및n번째_값다음 내의 행만 고려"창틀", 기본적으로
파티션의 시작부터 다음까지의 행을 포함합니다.
현재 행의 마지막 피어입니다. 이는 도움이 되지 않을 가능성이 높습니다.
에 대한 결과마지막_값그리고
때로는 또한n번째_값. 당신은 할 수 있습니다
적절한 프레임 사양을 추가하여 프레임을 재정의
(범위또는행)
에이상절. 참조섹션 4.2.8프레임 사양에 대한 자세한 내용을 확인하세요.
집계 함수가 창 함수로 사용될 때, 현재 행의 창 프레임 내의 행을 집계합니다. 와 함께 사용되는 집계주문 기준그리고 기본 창 프레임 정의는 다음을 생성합니다."누계액"행동 유형, 그럴 수도 있고 그럴 수도 있음 원하는 것이 아닙니다. 전체에 대한 집계를 얻으려면 파티션, 생략주문 기준또는 사용제한되지 않은 선행 및 다음 행 사이의 행 무한한 팔로잉. 다른 프레임 사양을 사용할 수 있습니다. 다른 효과를 얻으려면.
참고:SQL 표준은 다음을 정의합니다.NULL을 존중또는무시 NULL옵션
리드,지연,첫 번째_값,마지막_값및n번째_값. 이것은 구현되지 않았습니다.포스트그레SQL: 동작은 다음과 같습니다. 항상 표준 기본값과 동일합니다. 즉,NULL을 존중. 마찬가지로 표준의처음부터또는마지막부터옵션n번째_값구현되지 않았습니다. 기본값처음부터행동은 지원됩니다. (당신은 다음과 같은 결과를 얻을 수 있습니다.마지막부터반전하여주문 기준주문합니다.)