이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.Postgresql: Tài liệu: 17: 9.21. Hàm tổ토토 hợp버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.20. 젠 토토 함수

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

표 9-49. 범용 젠 토토 함수

기능 인수 유형 반환 유형 설명
array_agg(표현) 모든 인수 유형 배열 null을 포함한 입력 값이 배열로 연결됨
평균(표현) smallint, int, 비긴트, 실제, 배정밀도, 숫자또는간격 숫자정수형 인수의 경우배정밀도부동 소수점 인수의 경우, 그렇지 않으면 인수 데이터 유형과 동일 null이 아닌 모든 입력 값의 평균(산술 평균)
bit_and(표현) smallint, int, 비긴트, 또는비트 인수 데이터 유형과 동일 null이 아닌 모든 입력 값의 비트 AND, 또는 없으면 null
bit_or(표현) 작은int, int, 비긴트또는비트 인수 데이터 유형과 동일 null이 아닌 모든 입력 값의 비트별 OR, 또는 없으면 null
bool_and(표현) 부울 부울 모든 입력 값이 true이면 true, 그렇지 않으면 false
bool_or(표현) 부울 부울 적어도 하나의 입력 값이 true이면 true, 그렇지 않으면 false
개수(*) 비긴트 입력 행 수
개수(표현) 모든 비긴트 값이 해당되는 입력 행 수표현널이 아닙니다
모든(표현) 부울 부울 다음과 동일함bool_and
json_agg(표현) 모든 json Null을 포함한 값을 JSON 배열로 젠 토토합니다.
json_object_agg(이름, ) (아무거나, 아무거나) json 이름/값 쌍을 JSON 객체로 집계합니다. 값은 null일 수 있지만 이름은 될 수 없습니다.
최대(표현) 모든 배열, 숫자, 문자열 또는 날짜/시간 유형 인수 유형과 동일 최대값표현null이 아닌 모든 입력 값에 걸쳐
분(표현) 모든 배열, 숫자, 문자열 또는 날짜/시간 유형 인수 유형과 동일 최소값표현null이 아닌 모든 입력 값에 걸쳐
string_agg(표현, 구분자) (텍스트, 텍스트) 또는 (바이테아, 바이테아) 인수 유형과 동일 문자열로 연결되고 구분 기호로 구분된 null이 아닌 입력 값
합계(표현) smallint, int, 비긴트, 진짜, 배정밀도, 숫자, 간격, 또는 비긴트forsmallint또는int인수,숫자for비긴트인수, 그렇지 않으면 인수 데이터 유형과 동일 합계표현null이 아닌 모든 입력 값에 걸쳐
xmlagg(표현) xml xml 널이 아닌 XML 값의 연결(또한 참조섹션 9.14.1.7)

다음을 제외하고는 주의해야 합니다.개수, 이 함수는 선택된 행이 없으면 null 값을 반환합니다. 특히,of no 행은 예상대로 0이 아닌 null을 반환하며array_agg입력 행이 없는 경우 빈 배열이 아닌 null을 반환합니다. 그만큼합체함수는 필요한 경우 null을 0 또는 빈 배열로 대체하는 데 사용할 수 있습니다.

참고:부울 집계bool_and그리고bool_or표준 SQL 젠 토토에 해당마다그리고아무거나또는일부. 에 관해서는모든그리고일부, 표준 구문에 모호성이 내장된 것 같습니다.

SELECT b1 = ANY((SELECT b2 FROM t2 ...)) FROM t1 ...;

여기모두하위 쿼리가 부울 값이 있는 행 하나를 반환하는 경우 하위 쿼리를 도입하거나 젠 토토 함수로 간주할 수 있습니다. 따라서 이러한 집합체에는 표준 이름을 부여할 수 없습니다.

참고:다른 SQL 데이터베이스 관리 시스템 작업에 익숙한 사용자는 다음의 성능에 실망할 수 있습니다.개수테이블 전체에 적용될 때 집계됩니다. 다음과 같은 쿼리:

어떤 테이블에서 SELECT 개수(*);

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

젠 토토 함수array_agg, json_agg, json_object_agg, string_aggxmlagg및 유사한 사용자 정의 젠 토토 함수는 입력 값의 순서에 따라 의미 있게 다른 결과 값을 생성합니다. 이 순서는 기본적으로 지정되지 않지만 다음을 작성하여 제어할 수 있습니다.주문 기준다음과 같이 집계 호출 내의 절섹션 4.2.7. 또는 정렬된 하위 쿼리에서 입력 값을 제공하는 것이 일반적으로 작동합니다. 예를 들어:

SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS 탭;

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

표 9-50통계 분석에 일반적으로 사용되는 젠 토토 함수를 보여줍니다. (이들은 더 일반적으로 사용되는 집계 목록이 복잡해지는 것을 피하기 위해 분리되었습니다.) 설명에서 언급하는 곳N는 모든 입력 식이 null이 아닌 입력 행의 개수를 의미합니다. 모든 경우에 계산이 의미가 없으면 null이 반환됩니다.N0입니다.

표 9-50. 통계용 젠 토토 함수

기능 인수 유형 반환 유형 설명
corr(Y, X) 배정밀도 배정밀도 상관계수
covar_pop(Y, X) 배정밀도 배정밀도 인구 공분산
covar_samp(Y, X) 배정밀도 배정밀도 표본 공분산
regr_avgx(Y, X) 배정밀도 배정밀도 독립변수의 평균(합계(X)/N)
regr_avgy(Y, X) 배정밀도 배정밀도 종속변수의 평균(합계(Y)/N)
regr_count(Y, X) 배정밀도 비긴트 두 식이 모두 Null이 아닌 입력 행 수
regr_intercept(Y, X) 배정밀도 배정밀도 (에 의해 결정된 최소 제곱 피팅 선형 방정식의 y 절편X, Y) 쌍
regr_r2(Y, X) 배정밀도 배정밀도 상관계수의 제곱
regr_slope(Y, X) 배정밀도 배정밀도 (에 의해 결정된 최소 제곱 피팅 선형 방정식의 기울기X, Y) 쌍
regr_sxx(Y, X) 배정밀도 배정밀도 합계(X^2) - 합계(X)^2/N ("제곱의 합"독립변수의)
regr_sxy(Y, X) 배정밀도 배정밀도 합계(X*Y) - 합계(X) * 합계(Y)/N ("제품 합계"독립시간 종속변수)
regr_syy(Y, X) 배정밀도 배정밀도 합계(Y^2) - 합계(Y)^2/N ("제곱의 합"종속변수의)
stddev(표현) 작은int, int, 비긴트, 진짜, 배정밀도또는숫자 배정밀도부동 소수점 인수의 경우, 그렇지 않은 경우숫자 에 대한 과거 별칭stddev_samp
stddev_pop(표현) smallint, int, bigint, 진짜, 배정밀도또는숫자 배정밀도부동 소수점 인수의 경우, 그렇지 않은 경우숫자 입력 값의 모집단 표준 편차
stddev_samp(표현) smallint, int, 비긴트, 실제, 배정밀도또는숫자 배정밀도부동 소수점 인수의 경우, 그렇지 않은 경우숫자 입력 값의 샘플 표준 편차
변량(표현) smallint, int, 비긴트, 실제, 배정밀도또는숫자 배정밀도부동 소수점 인수의 경우, 그렇지 않은 경우숫자 에 대한 과거 별칭var_samp
var_pop(표현) smallint, int, 비긴트, 진짜, 배정밀도또는숫자 배정밀도부동 소수점 인수의 경우, 그렇지 않은 경우숫자 입력값의 모집단 분산(모집단 표준편차의 제곱)
var_samp(표현) smallint, int, bigint, 진짜, 배정밀도또는숫자 배정밀도부동 소수점 인수의 경우, 그렇지 않은 경우숫자 입력 값의 샘플 분산(샘플 표준 편차의 제곱)

표 9-51다음을 사용하는 일부 젠 토토 함수를 표시합니다.순서 집합 젠 토토구문. 이러한 함수는 때때로 다음과 같이 지칭됩니다."역분포"함수.

표 9-51. 순서 집합 젠 토토 함수

기능 직접 인수 유형 집계된 인수 유형 반환 유형 설명
mode() 그룹 내(ORDER BY정렬_표현) 정렬 가능한 모든 유형 정렬 표현식과 동일 가장 빈번한 입력 값을 반환합니다(동일한 빈도의 결과가 여러 개인 경우 임의로 첫 번째 값 선택)
백분위수_연속(분수) 그룹 내(ORDER BY정렬_표현) 배정밀도 배정밀도또는간격 정렬 표현식과 동일 연속 백분위수: 필요한 경우 인접한 입력 항목 사이를 보간하여 순서대로 지정된 분수에 해당하는 값을 반환합니다.
백분위수_연속(분수) 그룹 내(ORDER BY정렬_표현) 배정밀도[] 배정밀도또는간격 정렬 표현식 유형의 배열 다중 연속 백분위수: 모양과 일치하는 결과 배열을 반환합니다.분수매개변수(null이 아닌 각 요소는 해당 백분위수에 해당하는 값으로 대체됨)
백분위수_디스크(분수) 그룹 내(ORDER BY정렬_표현) 배정밀도 정렬 가능한 모든 유형 정렬 표현식과 동일 이산 백분위수: 순서에서 위치가 지정된 분수와 같거나 초과하는 첫 번째 입력 값을 반환합니다.
백분위수_디스크(분수) 그룹 내(ORDER BY정렬_표현) 배정밀도[] 정렬 가능한 모든 유형 정렬 표현식 유형의 배열 다중 이산 백분위수: 모양과 일치하는 결과 배열을 반환합니다.분수매개변수(null이 아닌 각 요소는 해당 백분위수에 해당하는 입력 값으로 대체됨)

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

다음에 나열된 각 집계표 9-52은에 정의된 동일한 이름의 창 함수와 연결되어 있습니다.PostgreSQL : 문서 : 9.4 : 창 롤 토토. 각 경우에 젠 토토 결과는 관련 창 함수가 반환한 값입니다."가설적"다음으로 구성된 행인수, 해당 행이 다음에서 계산된 정렬된 행 그룹에 추가된 경우sorted_args.

표 9-52. 가설 집합 젠 토토 함수

기능 직접 인수 유형 집계된 인수 유형 반환 유형 설명
순위(인수) 그룹 내(ORDER BYsorted_args) VARIADIC "아무거나" VARIADIC "아무거나" 비긴트 중복 행에 대한 간격이 있는 가상 행의 순위
밀도_순위(인수) 그룹 내(ORDER BYsorted_args) VARIADIC "아무거나" VARIADIC "아무거나" 비긴트 공백 없이 가상 행의 순위
퍼센트_순위(인수) 그룹 내(ORDER BYsorted_args) VARIADIC "아무거나" VARIADIC "아무거나" 배정밀도 0부터 1까지의 가상 행의 상대 순위
cume_dist(인수) 그룹 내(ORDER BYsorted_args) VARIADIC "아무거나" VARIADIC "아무거나" 배정밀도 1/ 범위의 가상 행의 상대 순위N1에

이러한 각각의 가상 집합 집합에 대해, 다음에 제공된 직접 인수 목록인수에 제공된 집계된 인수의 수 및 유형과 일치해야 합니다.sorted_args. 대부분의 기본 제공 젠 토토와 달리 이러한 젠 토토는 엄격하지 않습니다. 즉, Null이 포함된 입력 행을 삭제하지 않습니다. Null 값은에 지정된 규칙에 따라 정렬됩니다.주문 기준절.