STDDEV_SAMP 및 STDDEV_POP 창 함수 - Amazon Redshift

STDDEV_SAMP 및 STDDEV_POP 창 함수

STDDEV_SAMP 및 STDDEV_POP 창 함수는 숫자 값(정수, 소수 또는 부동 소수점) 집합의 표본 표준 편차와 모 표준 편차를 반환합니다. STDDEV_SAMP 및 STDDEV_POP 함수 섹션도 참조하십시오.

STDDEV_SAMP와 STDDEV는 동일한 함수이기 때문에 동의어나 마찬가지입니다.

구문

STDDEV_SAMP | STDDEV | STDDEV_POP ( [ ALL ] expression ) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )

인수

표현식

함수가 실행되는 대상 열 또는 표현식입니다.

ALL

인수가 ALL일 때는 함수가 표현식의 모든 중복 값을 그대로 유지합니다. ALL이 기본값입니다. DISTINCT는 지원되지 않습니다.

OVER

집계 함수의 창 절을 지정합니다. OVER 절은 창 집계 함수와 일반적인 집합 집계 함수를 구분하는 역할을 합니다.

PARTITION BY expr_list

하나 이상의 표현식과 관련하여 함수의 창을 정의합니다.

ORDER BY order_list

각 파티션의 행을 정렬합니다. PARTITION BY를 지정하지 않으면 ORDER BY가 전체 테이블을 사용합니다.

frame_clause

집계 함수에서 ORDER BY 절이 사용되면 명시적인 프레임 절이 필요합니다. 프레임 절은 순서가 지정된 결과 내에 행 집합을 추가하거나 제거함으로써 함수의 창에 포함되는 행 집합을 정제하는 역할을 하며, ROWS 키워드와 관련 지정자로 구성됩니다. 창 함수 구문 요약 섹션을 참조하세요.

데이터 타입

STDDEV 함수에서 지원되는 인수 형식은 SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION입니다.

표현식의 데이터 형식과 상관없이 STDDEV 함수의 반환 형식은 배정밀도 숫자입니다.

다음은 STDDEV_POP 및 VAR_POP 함수를 창 함수로 사용하는 방법을 나타낸 예입니다. 쿼리가 SALES 테이블의 PRICEPAID 값에 대한 모 분산과 모 표준 편차를 계산합니다.

select salesid, dateid, pricepaid, round(stddev_pop(pricepaid) over (order by dateid, salesid rows unbounded preceding)) as stddevpop, round(var_pop(pricepaid) over (order by dateid, salesid rows unbounded preceding)) as varpop from sales order by 2,1; salesid | dateid | pricepaid | stddevpop | varpop --------+--------+-----------+-----------+--------- 33095 | 1827 | 234.00 | 0 | 0 65082 | 1827 | 472.00 | 119 | 14161 88268 | 1827 | 836.00 | 248 | 61283 97197 | 1827 | 708.00 | 230 | 53019 110328 | 1827 | 347.00 | 223 | 49845 110917 | 1827 | 337.00 | 215 | 46159 150314 | 1827 | 688.00 | 211 | 44414 157751 | 1827 | 1730.00 | 447 | 199679 165890 | 1827 | 4192.00 | 1185 | 1403323 ...

표본 표준 편차 및 분산 함수 역시 같은 방식으로 사용할 수 있습니다.