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

9.20. 집계 기능

토토 사이트 함수입력 값 세트에서 단일 결과를 계산합니다. 내장 된 일반 토토 사이트 함수는에 나열되어 있습니다.표 9-49and표 9-50. 내장형 순서 세트 토토 사이트 함수는에 나열되어 있습니다.표 9-51and표 9-52. 토토 사이트 함수와 밀접한 관련이있는 그룹화 작업은에 나와 있습니다.표 9-53. 토토 사이트 함수에 대한 특별 구문 고려 사항은에 설명되어 있습니다.섹션 4.2.7. 찾다PostgreSQL : 문서 : 9.5 : 사설 토토 함수추가 입문 정보는

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

기능 인수 유형 (S) 반환 유형 설명
array_agg (표현) 모든 비 배열 유형 인수 유형의 배열 널을 포함한 입력 값, 배열에 연결
array_agg (표현) 모든 배열 유형 인수 데이터 유형과 동일 입력 배열 하나는 하나의 높은 차원의 배열에 연결되어 있습니다 (입력은 모두 동일한 치수를 가져야하며 비어 있거나 null이 될 수 없습니다)
avg (표현) smallint, int, bigint, Real, 이중 정밀, 숫자또는간격 숫자정수 유형 인수의 경우이중 정밀도플로팅 포인트 인수의 경우, 그렇지 않으면 인수 데이터 유형과 동일합니다 모든 비 널 입력 값의 평균 (산술 평균)
bit_and (표현) smallint, int, bigint또는비트 인수 데이터 유형과 동일 비트 와이드 및 모든 비 널 입력 값의 경우 또는 NON이 아닌 경우
bit_or (표현) smallint, int, bigint또는비트 인수 데이터 유형과 동일 비트 또는 모든 비 널 입력 값의 또는 없음
bool_and (표현) bool bool true 모든 입력 값이 true 인 경우, 그렇지 않으면 false
bool_or (표현) bool bool 적어도 하나의 입력 값이 true 인 경우 true
count (*) bigint 입력 행 수
count (표현) Any bigint 값의 값에 대한 입력 행 수표현
Every (표현) bool bool 동등한bool_and
JSON_AGG (표현) any JSON JSON 배열로 널을 포함한 값을 집계합니다
JSONB_AGG (표현) any JSONB JSON 배열로 널을 포함한 값을 집계합니다
json_object_agg (이름, value) (AND, AND) JSON 집계 이름/값 쌍은 JSON 객체로서; 값은 널가 될 수 있지만 이름은 아닙니다
jsonb_object_agg (이름, value) (AND, AND) JSONB 집계 이름/값 쌍은 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 ROWS는 예상대로 0이 아닌 널을 반환합니다.array_agg입력 행이 없을 때 빈 배열 대신 NULL을 반환합니다. 그만큼Coalesce기능을 사용하여 필요할 때 NULL로 0 또는 빈 배열을 대체 할 수 있습니다.

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

선택 B1 = ATH ((T2에서 B2에서 선택한 B2 ...))에서 T1에서 ...;

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

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

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

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

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

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

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

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

표 9-50. 통계에 대한 토토 사이트 함수

기능 인수 유형 반환 유형 설명
corr (y, X) 이중 정밀 이중 정밀 상관 계수
covar_pop (y, x) 이중 정밀 이중 정밀 인구 공분산
covar_samp (y, x) 이중 정밀 이중 정밀 샘플 공분산
lect_avgx (y, x) 이중 정밀 이중 정밀 독립 변수 평균 (Sum (x)/n)
lect_avgy (y, x) 이중 정밀 이중 정밀 종속 변수의 평균 (Sum (y)/n)
lect_count (y, x) 이중 정밀 bigint 두 표현식이 아닌 입력 행 수
lecc_intercept (y, x) 이중 정밀 이중 정밀 y y (에 의해 결정된 최소 제곱 전합 선형 방정식의 간격x, y) Pairs
lecr_r2 (y, x) 이중 정밀 이중 정밀 상관 계수의 제곱
lecc_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, int, bigint, Real, 이중 정밀도또는숫자 이중 정밀플로팅 포인트 인수, 그렇지 않으면숫자 입력 값의 샘플 분산 (샘플 표준 편차의 제곱)

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

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

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

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

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

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

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

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

표 9-53. 그룹화 작업

기능 반환 유형 설명
그룹화 (args ...) 정수 현재 그룹화 세트에 포함되지 않은 인수를 나타내는 정수 비트 마스크

그룹화 작업은 그룹화 세트와 함께 사용됩니다 (참조섹션 7.2.4) 결과 행을 구별하려면. 에 대한 논쟁그룹화작동은 실제로 평가되지 않지만에 제공된 정확한 표현과 일치해야합니다.그룹 by관련 쿼리 레벨의 조항. 비트는 가장 중요하지 않은 비트 인 가장 오른쪽 인수와 함께 할당됩니다. 해당 표현식이 결과 행을 생성하는 그룹화 세트의 그룹화 기준에 포함 된 경우 각 비트가 0이고, 그렇지 않은 경우 1. 예를 들어:

= 선택 *에서 items_sold;만들기 | 모델 | 매상
-------+-------+-------
 foo | GT |  10
 foo | 투어 |  20
 바 | 도시 |  15
 바 | 스포츠 |  5
(4 줄)= rollup (make, model)에 의한 imps _sold 그룹의 제조업, 모델, 그룹화 (Make, Model), Sum (Sales)을 선택하십시오.만들기 | 모델 | 그룹화 | 합집합
-------+-------+----------+-----
 foo | GT |        0 | 10
 foo | 투어 |        0 | 20
 바 | 도시 |        0 | 15
 바 | 스포츠 |        0 | 5
 foo |       |        1 | 30
 바 |       |        1 | 20
       |       |        3 | 50
(7 줄)