다음을 통해 공유


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 AdventureWorks;
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 AdventureWorks;
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 AdventureWorks;
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)

참고 항목

참조