| 윈 토토 : 문서 : 9.4 : 윈 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.4 : 젠 토토 함수 및 연산자 | PostgreSQL : 문서 : 9.4 : 스포츠 토토 결과 및 연산자 | 9장. 함수 및 연산자 | PostgreSQL : 문서 : 9.4 : 창 롤 토토 |
젠 토토 함수입력 값 세트에서 단일 결과를 계산합니다. 내장된 일반 젠 토토 함수는 다음에 나열되어 있습니다.표 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_agg및xmlagg및 유사한 사용자 정의 젠 토토 함수는 입력 값의 순서에 따라 의미 있게 다른 결과 값을 생성합니다. 이 순서는 기본적으로 지정되지 않지만 다음을 작성하여 제어할 수 있습니다.주문 기준다음과 같이 집계 호출 내의 절섹션 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 값은에 지정된 규칙에 따라 정렬됩니다.주문 기준절.