다음을 통해 공유


SUM(Transact-SQL)

식의 모든 값 또는 DISTINCT 값의 합계를 반환합니다. SUM은 숫자 열에서만 사용할 수 있습니다. Null 값은 무시됩니다. OVER 절(Transact-SQL)이 뒤에 올 수도 있습니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

SUM ( [ ALL | DISTINCT ] expression )

인수

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

  • DISTINCT
    SUM이 고유한 값의 합계를 반환하도록 지정합니다.

  • expression
    상수, 열 또는 함수이며 산술, 비트 및 문자열 연산자의 조합입니다. expression은 bit 데이터 형식을 제외한 정확한 수치 또는 근사치 숫자 데이터 형식 범주의 식입니다. 집계 함수와 하위 쿼리는 허용되지 않습니다. 자세한 내용은 식(Transact-SQL)을 참조하십시오.

반환 형식

가장 정확한 expression 데이터 형식으로 모든 expression 값의 합계를 반환합니다.

식 결과

반환 형식

tinyint

int

smallint

int

int

int

bigint

bigint

decimal 범주(p, s)

decimal(38, s)

money 및 smallmoney 범주

money

float 및 real 범주

float

1. 집계 및 행 집계를 위해 SUM 사용

다음 예에서는 집계 함수와 행 집계 함수의 차이를 보여 줍니다. 첫 번째 예에서는 요약 데이터만 반환하는 집계 함수를 보여 주며 두 번째 예에서는 세부 데이터와 요약 데이터를 모두 반환하는 행 집계 함수를 보여 줍니다.

USE AdventureWorks2008R2;
GO
SELECT Color, SUM(ListPrice), SUM(StandardCost)
FROM Production.Product
WHERE Color IS NOT NULL 
    AND ListPrice != 0.00 
    AND Name LIKE 'Mountain%'
GROUP BY Color
ORDER BY Color;
GO

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

Color

--------------- --------------------- ---------------------

Black 27404.84 15214.9616

Silver 26462.84 14665.6792

White 19.00 6.7926

(3 row(s) affected)

USE AdventureWorks2008R2;
GO
SELECT Color, ListPrice, StandardCost
FROM Production.Product
WHERE Color IS NOT NULL 
    AND ListPrice != 0.00 
    AND Name LIKE 'Mountain%'
ORDER BY Color
COMPUTE SUM(ListPrice), SUM(StandardCost) BY Color;
GO

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

Color ListPrice StandardCost

--------------- --------------------- ---------------------

Black 2294.99 1251.9813

Black 2294.99 1251.9813

Black 2294.99 1251.9813

Black 1079.99 598.4354

Black 1079.99 598.4354

Black 1079.99 598.4354

Black 1079.99 598.4354

Black 3374.99 1898.0944

Black 3374.99 1898.0944

Black 3374.99 1898.0944

Black 3374.99 1898.0944

Black 539.99 294.5797

Black 539.99 294.5797

Black 539.99 294.5797

Black 539.99 294.5797

Black 539.99 294.5797

sum sum

--------------------- ---------------------

27404.84 15214.9616

Color ListPrice StandardCost

--------------- --------------------- ---------------------

Silver 2319.99 1265.6195

Silver 2319.99 1265.6195

Silver 2319.99 1265.6195

Silver 3399.99 1912.1544

Silver 3399.99 1912.1544

Silver 3399.99 1912.1544

Silver 3399.99 1912.1544

Silver 769.49 419.7784

Silver 769.49 419.7784

Silver 769.49 419.7784

Silver 769.49 419.7784

Silver 564.99 308.2179

Silver 564.99 308.2179

Silver 564.99 308.2179

Silver 564.99 308.2179

Silver 564.99 308.2179

sum sum

--------------------- ---------------------

26462.84 14665.6792

Color ListPrice StandardCost

--------------- --------------------- ---------------------

White 9.50 3.3963

White 9.50 3.3963

sum sum

--------------------- ---------------------

19.00 6.7926

(37 row(s) affected)

2. 두 개 이상의 열에 대한 그룹 합계 계산

다음 예에서는 Product 테이블에 나열된 각 색에 대한 ListPrice 및 StandardCost의 합계를 계산합니다.

USE AdventureWorks2008R2;
GO
SELECT Color, SUM(ListPrice), SUM(StandardCost)
FROM Production.Product
GROUP BY Color
ORDER BY Color;
GO

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

Color

--------------- --------------------- ---------------------

NULL 4182.32 2238.4755

Black 67436.26 38636.5002

Blue 24015.66 14746.1464

Grey 125.00 51.5625

Multi 478.92 272.2542

Red 53274.10 32610.7661

Silver 36563.13 20060.0483

Silver/Black 448.13 198.97

White 36.98 13.5172

Yellow 34527.29 21507.6521

(10 row(s) affected)

참고 항목

참조