다음을 통해 공유


STDEV(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric의 SQL 분석 엔드포인트Microsoft Fabric의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

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

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 데이터 형식을 제외한 정확한 수치 또는 근사치 데이터 형식 범주의 식입니다.

오버 ( [ 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 사용

다음 예시는 AdventureWorks2025 데이터베이스 내 테이블에 있는 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)