featur

[MSSQL] 집계함수 (평균,최대,최소값등) 본문

개발/MSSQL

[MSSQL] 집계함수 (평균,최대,최소값등)

featur 2015. 11. 24. 16:37

[MSSQL] 집계함수 (평균,최대,최소값등)

 

 

함수명 설명  Sql Server 2014 기준

 

 함수

 내용

 예문

주의

 AVG()

 평균을 구한다.

 

 

 MIN()

 최소값을 구한다.

 

 

 MAX()

 최대값을 구한다.

 

 

 COUNT()

 행의 개수를 센다.

 

 

 COUN_BIG()

 개수를 센다. 단 결과값이 bigint 형이다.

 

 

 GROUPING()

 GROUP BY 목록에 지정된 열 식이 집계되었는지 여부를 나타냅니다. GROUPING은 집계된 경우 결과 집합에 1을 반환하고 집계되지 않은 경우 0을 반환합니다. GROUP BY 절이 지정된 경우 GROUPING은 SELECT <select> 목록, HAVING 및 ORDER BY 절에만 사용할 수 있습니다.

 SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO

 GROUPING은 ROLLUP, CUBE 또는 GROUPING SETS에서 반환된 Null 값과 표준 Null 값을 구분하기 위해 사용됩니다. ROLLUP, CUBE 또는 GROUPING SETS 작업의 결과로 반환되는 Null은 특별한 Null입니다. 이것은 결과 집합에서 열 자리 표시자로 사용되며 "모두"를 의미합니다.

 GROUPING_ID()

 그룹 수준을 계산하는 함수입니다. GROUP BY 절이 지정된 경우 GROUPING_ID는 SELECT <select> 목록, HAVING 및 ORDER BY 절에만 사용할 수 있습니다.

SELECT GROUPING_ID(A,B)
FROM T
GROUP BY CUBE(A,B)

GROUPING_ID <column_expression>은 GROUP BY 목록의 식과 정확하게 일치해야 합니다. 예를 들어 DATEPART (yyyy, <column name>)를 기준으로 그룹화하는 경우에는 GROUPING_ID (DATEPART (yyyy, <column name>))를 사용하고, <column name>를 기준으로 그룹화하는 경우에는 GROUPING_ID (<column name>)를 사용하십시오

 STDEV()

 표준편차를 구한다.

 

 

 STDEVP()

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

 

 

 SUM()

 식의 모든 값 또는 DISTINCT 값의 합계를 반환합니다. SUM은 숫자 열에서만 사용할 수 있습니다. Null 값은 무시됩니다.

 

 

 VAR()

 지정한 식에 있는 모든 값의 통계적 분산을 반환합니다. OVER 절 이 뒤에 올 수도 있습니다.

 

 

VARP()

 지정한 식에 있는 모든 값의 모집단에 대한 통계적 분산을 반환합니다.

 

 

 CHECKSUM_AGG()  그룹에서 값의 체크섬을 반환합니다.  Null 값은 무시됩니다. OVER 절이 뒤에 올 수 있습니다.

 SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO


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

------------------------
287

 CHECKSUM_AGG는 테이블에서 변경 사항을 검색하는 데 사용할 수 있습니다.

테이블의 행 순서는 CHECKSUM_AGG의 결과에 영향을 주지 않습니다. 또한 CHECKSUM_AGG 함수는 DISTINCT 키워드 및 GROUP BY 절과 함께 사용할 수 있습니다.

식 목록에 있는 값이 하나라도 변경되면 목록의 체크섬도 일반적으로 바뀝니다. 그러나 체크섬이 바뀌지 않는 경우도 가끔 있습니다.

CHECKSUM_AGG는 다른 집계 함수와 기능이 비슷합니다.

 

 


Comments