다음을 통해 공유


STDEVP(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스

지정한 식에 있는 모든 값의 모집단에 대한 통계적 표준 편차를 반환합니다.

Transact-SQL 구문 표기 규칙

구문

-- Aggregate Function Syntax   
STDEVP ( [ ALL | DISTINCT ] expression )  
  
-- Analytic Function Syntax   
STDEVP ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)  

인수

ALL
모든 값에 함수를 적용합니다. 기본값은 ALL입니다.

DISTINCT
각 고유 값을 고려하도록 지정합니다.

expression
숫자 입니다. 집계 함수와 하위 쿼리는 허용되지 않습니다. expressionbit 데이터 형식을 제외한 정확한 수치 또는 근사치 데이터 형식 범주의 식입니다.

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause는 FROM 절이 생성한 결과 집합을 함수가 적용되는 파티션으로 나눕니다. 지정하지 않을 경우 쿼리 결과 집합의 모든 행이 단일 그룹으로 취급됩니다. order_by_clause는 작업이 수행되는 논리적 순서를 결정합니다. order_by_clause가 필요합니다. 자세한 내용은 OVER 절(Transact-SQL)을 참조하세요.

반환 형식

float

설명

STDEVP가 SELECT 문의 모든 항목에서 사용되는 경우 결과 집합의 각 값이 계산에 포함됩니다. STDEVP와 함께 사용할 수 있는 것은 숫자 열뿐입니다. Null 값은 무시됩니다.

STDEVP는 OVER 및 ORDER BY 절 없이 사용되는 경우 결정적 함수이고, OVER 및 ORDER BY 절과 함께 지정되는 경우 비결정적 함수입니다. 자세한 내용은 Deterministic and Nondeterministic Functions을 참조하세요.

예제

A: STDEVP 사용

다음 예제에서는 AdventureWorks2022 데이터베이스의 테이블에 있는 모든 보너스 값에 SalesPerson 대한 모집단의 표준 편차를 반환합니다.

SELECT STDEVP(Bonus)  
FROM Sales.SalesPerson;  
GO  

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

B: STDEVP 사용

다음 예에서는 dbo.FactSalesQuota 테이블의 판매 할당량 값의 STDEVP를 반환합니다. 첫 번째 열은 모든 고유 값의 표준 편차를 포함하고 두 번째 열은 중복 값을 포함한 모든 값의 표준 편차를 포함합니다.

-- Uses AdventureWorks  
  
SELECT STDEVP(DISTINCT SalesAmountQuota)AS Distinct_Values, STDEVP(SalesAmountQuota) AS All_Values  
FROM dbo.FactSalesQuota;SELECT STDEVP(DISTINCT Quantity)AS Distinct_Values, STDEVP(Quantity) AS All_Values  
FROM ProductInventory;  

결과 집합은 다음과 같습니다.

Distinct_Values   All_Values  
----------------  ----------------  
397676.79         397226.44

C. OVER와 함께 STDEVP 사용

다음 예에서는 한 해의 각 분기에 대한 판매 할당량 값 중 STDEVP를 반환합니다. ORDER BY 절의 OVERSTDEVP을 정렬하고 ORDER BY 문의 SELECT는 결과 집합을 정렬합니다.

-- Uses AdventureWorks  
  
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,  
       STDEVP(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS StdDeviation  
FROM dbo.FactSalesQuota  
WHERE EmployeeKey = 272 AND CalendarYear = 2002  
ORDER BY CalendarQuarter;  

결과 집합은 다음과 같습니다.

Year  Quarter  SalesQuota              StdDeviation  
----  -------  ----------------------  -------------------  
2002  1         91000.0000             0.00  
2002  2        140000.0000             24500.00  
2002  3         70000.0000             29329.55  
2002  4        154000.0000             34426.55

참고 항목

집계 함수(Transact-SQL)
OVER 절(Transact-SQL)