이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다Postgresql: Tài liệu: 17: 9.21. Hàm tổ젠 토토 hợp버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.20. 집계 기능

젠 토토 함수입력 값 세트에서 단일 결과를 계산합니다. 내장 된 일반 젠 토토 함수는에 나열되어 있습니다.표 9-49and표 9-50. 내장형 순서 세트 젠 토토 함수는에 나열되어 있습니다.표 9-51and표 9-52. 젠 토토 함수에 대한 특별 구문 고려 사항은에 설명되어 있습니다.섹션 4.2.7. 찾다PostgreSQL : 문서 : 9.4 : 무지개 토토 함수추가 입문 정보는

표 9-49. 일반 목적 집계 기능

기능 인수 유형 (S) 반환 유형 설명
array_agg (표현) any 인수 유형의 배열 널을 포함한 입력 값, 배열에 연결되었습니다
avg (표현) smallint, int, bigint, Real, 이중 정밀, 숫자또는간격 숫자정수 유형 인수의 경우이중 정밀플로팅 포인트 인수의 경우, 그렇지 않으면 인수 데이터 유형과 동일합니다 모든 비 널 입력 값의 평균 (산술 평균)
bit_and (표현) smallint, int, bigint또는비트 인수 데이터 유형과 동일 비트 와이드 및 모든 비 널 입력 값의 또는 NON이 아닌 경우
bit_or (표현) smallint, int, bigint또는비트 인수 데이터 유형과 동일 비트 또는 모든 비 널 입력 값의 또는 없음
bool_and (표현) bool bool 모든 입력 값이 true 인 경우 true
bool_or (표현) bool bool 적어도 하나의 입력 값이 true 인 경우 true
count (*) bigint 입력 행 수
count (표현) any bigint 값의 값에 대한 입력 행 수표현
Every (표현) bool bool 동등한bool_and
json_agg (표현) any JSON JSON 배열로 NULLS를 포함한 값을 집계합니다
json_object_agg (이름, value) (AND, AND) JSON 집계 이름/값 쌍은 JSON 객체로서; 값은 널가 될 수 있지만 이름은 아닙니다
max (표현) 모든 배열, 숫자, 문자열 또는 날짜/시간 유형 인수 유형과 동일 최대 값표현모든 비 널 입력 값에 걸쳐
min (표현) 모든 배열, 숫자, 문자열 또는 날짜/시간 유형 인수 유형과 동일 최소값표현모든 비 널 입력 값에 걸쳐
String_agg (표현, Delimiter) (텍스트, 텍스트) 또는 (BYTEA, BYTEA) 인수 유형과 동일 Delimiter로 분리 된 문자열에 연결된 비 널 입력 값
Sum (표현) smallint, int, bigint, Real, 이중 정밀도, 숫자, 간격또는Money bigintforsmallint또는int인수,숫자forbigint인수, 그렇지 않으면 인수 데이터 유형과 동일합니다 표현모든 비 널 입력 값에 걸쳐
xmlagg (표현) XML XML NULL XML 값의 연결 (참조섹션 9.14.1.7)

count,이 함수는 행을 선택할 때 널 값을 반환합니다. 특히,SumOF 노 행은 예상대로 0이 아닌 숫자를 반환합니다.array_agg입력 행이 없을 때 빈 배열 대신 NULL을 반환합니다. 그만큼Coalesce함수를 사용하여 필요할 때 널을 0으로 또는 빈 배열을 대체 할 수 있습니다.

참고 :부울 젠 토토bool_andandbool_or표준 SQL 젠 토토에 해당Everyandany또는일부. foranyand일부, 표준 구문에 내장 된 모호성이있는 것 같습니다 :

t1에서 B1 = any ((t2에서 b2를 선택하십시오 ...))를 선택하십시오 ...;

여기any하위 쿼리가 부울 값으로 한 행을 반환하는 경우 하위 쿼리를 도입하거나 젠 토토 함수로 간주 될 수 있습니다. 따라서이 집계에는 표준 이름이 주어질 수 없습니다.

참고 :다른 SQL 데이터베이스 관리 시스템과 협력하는 데 익숙한 사용자는의 성능에 실망 할 수 있습니다count전체 테이블에 적용될 때 젠 토토. 쿼리 :

약간의 count (*)에서 선택할 수 있습니다;

표의 크기에 비례하는 노력이 필요합니다 :PostgreSQL표에 모든 행을 포함하는 전체 테이블 또는 인덱스 전체를 스캔해야합니다.

젠 토토 함수array_agg, JSON_AGG, json_object_agg, String_aggxmlagg와 유사한 사용자 정의 젠 토토 함수는 입력 값의 순서에 따라 의미있는 다른 결과 값을 생성합니다. 이 순서는 기본적으로 지정되지 않지만 AN을 작성하여 제어 할 수 있습니다.주문 by젠 토토 호출 내의 조항,섹션 4.2.7. 또는 정렬 된 서브 쿼리에서 입력 값을 공급하는 것이 일반적으로 작동합니다. 예를 들어:

xmlagg (x)를 선택하여 (a desc로 테스트 순서에서 X를 선택) 탭;

그러나이 구문은 SQL 표준에서 허용되지 않으며 다른 데이터베이스 시스템에 대해 휴대용이 없습니다.

표 9-50통계 분석에 일반적으로 사용되는 젠 토토 함수를 보여줍니다. (이들은 더 많은 공동체가 사용하는 집계의 목록을 어지럽히는 것을 피하기 위해 분리되어 있습니다.) 설명에서 언급 한 경우n, 모든 입력 표현식이 Null이 아닌 입력 행의 수를 의미합니다. 모든 경우에, 계산이 의미가 없다면 NULL이 반환됩니다. 예를 들어n는 0입니다.

표 9-50. 통계에 대한 젠 토토 함수

기능 인수 유형 반환 유형 설명
corr (y, x) 이중 정밀 이중 정밀 상관 계수
covar_pop (y, x) 이중 정밀 이중 정밀 인구 공분산
covar_samp (y, x) 이중 정밀 이중 정밀 샘플 공분산
recr_avgx (y, x) 이중 정밀 이중 정밀 독립 변수 평균 (Sum (x)/n)
lecr_avgy (y, x) 이중 정밀 이중 정밀 종속 변수의 평균 (sum (y)/n)
lecr_count (y, x) 이중 정밀 bigint 두 표현식이 아닌 입력 행 수
lecc_intercept (y, x) 이중 정밀 이중 정밀 y y (에 의해 결정된 최소 제곱에 적합한 선형 방정식의 간격x, y) Pairs
rec_r2 (y, x) 이중 정밀 이중 정밀 상관 계수의 제곱
lect_slope (y, x) 이중 정밀 이중 정밀 (에 의해 결정된 최소 제곱에 맞는 선형 방정식의 경사x, y) Pairs
lect_sxx (y, x) 이중 정밀 이중 정밀 Sum (x^2) - Sum (x)^2/n("사각형의 합"독립 변수)
lecr_sxy (y, x) 이중 정밀 이중 정밀 Sum (x*y) - Sum (x) * sum (y)/n("제품의 합"독립 시간 종속 변수)
juc_syy (y, x) 이중 정밀 이중 정밀 Sum (y^2) - sum (y)^2/n("사각형의 합"종속 변수)
stddev (표현) smallint, int, bigint, Real, 이중 정밀또는숫자 이중 정밀플로팅 포인트 인수, 그렇지 않으면숫자 역사적 별칭을위한stddev_samp
stddev_pop (표현) smallint, int, bigint, Real, 이중 정밀또는숫자 이중 정밀플로팅 포인트 인수, 그렇지 않으면숫자 입력 값의 인구 표준 편차
stddev_samp (표현) smallint, int, bigint, Real, 이중 정밀또는숫자 이중 정밀플로팅 포인트 인수, 그렇지 않으면숫자 입력 값의 샘플 표준 편차
분산(표현) smallint, int, bigint, Real, 이중 정밀또는숫자 이중 정밀플로팅 포인트 인수, 그렇지 않으면숫자 역사적 별칭을위한var_samp
var_pop(표현) smallint, int, bigint, Real, 이중 정밀또는숫자 이중 정밀플로팅 포인트 인수, 그렇지 않으면숫자 입력 값의 인구 분산 (모집단 표준 편차의 제곱)
var_samp(표현) smallint, 27551_27556, bigint, Real, 이중 정밀또는숫자 이중 정밀플로팅 포인트 인수, 그렇지 않으면숫자 입력 값의 샘플 분산 (샘플 표준 편차의 제곱)

표 9-51를 사용하는 일부 젠 토토 함수를 보여줍니다.주문 세트 젠 토토구문. 이러한 기능은 때때로라고도합니다."역 분포"기능.

표 9-51. 주문 세트 젠 토토 함수

기능 직접 인수 유형 (S) 집계 인수 유형 (S) 반환 유형 설명
mode () 그룹 내 (Order bySort_Expression) 정렬 가능한 유형 정렬 식과 동일 가장 빈번한 입력 값을 반환합니다 (여러 똑같이 주파수 결과가있는 경우 첫 번째 첫 번째 선택 값을 임의로 선택)
백분석 _cont (fraction) 그룹 내 (order by 내Sort_Expression) 이중 정밀도 더블 정밀도또는간격 정렬 식과 동일 연속 백분위 수 : 주문에서 지정된 분수에 해당하는 값을 반환하고 필요한 경우 인접한 입력 항목 사이를 보간
백분석 _cont (FRACTION) 그룹 내 (order by)Sort_Expression) 이중 정밀 [] 더블 정밀도또는간격 정렬 식 유형의 배열 다중 연속 백분위 수 :의 모양과 일치하는 결과 배열을 반환합니다FRACTION매개 변수, 각각의 비 널 요소가 해당 백분위 수에 해당하는 값으로 대체
백분석 _DISC (fraction) 그룹 내 (주문 bySort_Expression) 이중 정밀 정렬 가능한 유형 정렬 식과 동일 개별 백분위 수 : 주문의 위치가 지정된 분수를 초과하는 첫 번째 입력 값을 반환합니다
백분석 _DISC (fractions) 그룹 내 (주문 내Sort_Expression) 이중 정밀 [] 정렬 가능한 유형 정렬 식 유형 배열 다중 개별 백분위 수 :의 모양과 일치하는 결과 배열을 반환합니다FRACTION매개 변수, 각각이 아닌 요소가 해당 백분위 수에 해당하는 입력 값으로 대체

모든 젠 토토에 나열된표 9-51정렬 된 입력에서 널 값을 무시하십시오. 를 취하는 사람들을 위해fraction매개 변수, 분수 값은 0과 1 사이 여야합니다. 그렇지 않으면 오류가 발생합니다. 그러나 널 분수 값은 단순히 널 결과를 생성합니다.

각각에 나열된 각 젠 토토표 9-52에 정의 된 동일한 이름의 창 함수와 관련이 있습니다PostgreSQL : 문서 : 9.4 : 창 롤 토토. 각각의 경우, 젠 토토 결과는 관련 창 함수가에 반환 한 값입니다."가상"행으로 구성된 행args, 그러한 행이 정렬 된 행 그룹에 추가 된 경우Sorted_args.

표 9-52. 가상 세트 젠 토토 함수

기능 직접 인수 유형 (들) 집계 인수 유형 (S) 반환 유형 설명
RANK (args) 그룹 내 (주문 내에서Sorted_args) variadic "Any" variadic "Any" bigint 중복 행에 대한 간격이있는 가상 행의 순위
Dense_Rank (args) 그룹 내 (주문 내Sorted_args) variadic "Any" variadic "Any" bigint 간격없이 가상의 행의 순위
퍼센트 랑크 (args) 그룹 내 (order bySorted_args) variadic "Any" variadic "Any" 이중 정밀도 0 ~ 1 범위의 가상 행의 상대 순위
cume_dist (args) 그룹 내 (주문 by 내Sorted_args) variadic "Any" variadic "Any" 더블 정밀도 1/ 범위의 가상 행의 상대 순위nto 1

이러한 가상 세트 젠 토토 각각에 대해,에 나와있는 직접 인수 목록argsSorted_args. 대부분의 내장 골재와 달리, 이러한 젠 토토는 엄격하지 않으며, 널이 포함 된 입력 행을 삭제하지 않습니다. null 값은에 지정된 규칙에 따라 정렬됩니다.주문 by절.