다음을 통해 공유


STDEV(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   
STDEV ( [ ALL | DISTINCT ] expression )  
  
-- Analytic Function Syntax   
STDEV ([ 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

설명

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

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

예제

1. STDEV 사용

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

SELECT STDEV(Bonus)  
FROM Sales.SalesPerson;  
GO  

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

2. STDEV 사용

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

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

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

Distinct_Values   All_Values
----------------  ----------------
398974.27         398450.57

C. OVER와 함께 STDEV 사용

다음 예에서는 한 해의 각 분기에 대한 판매 할당량 값의 표준 편차를 반환합니다. OVER 절에서 ORDER BY는 STDEV와 SELECT 문의 ORDER BY를 결과 집합으로 정렬합니다.

-- Uses AdventureWorks  
  
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,  
       STDEV(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             null
2002  2        140000.0000             34648.23
2002  3         70000.0000             35921.21
2002  4        154000.0000             39752.36

참고 항목

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