本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SUM 函數傳回輸入欄或表達式值的總和。SUM 函數處理數值,且忽略 NULL 值。
語法
SUM ( [ DISTINCT | ALL ] expression )
引數
- expression
-
函數運算的目標欄或表達式。expression 是下列其中一種資料類型:
SMALLINT
INTEGER
BIGINT
NUMERIC
DECIMAL
REAL
DOUBLE PRECISION
SUPER
- DISTINCT | ALL
-
如果指定引數 DISTINCT,則函數在計算總和之前,將從指定的表達式中消除所有重複值。如果指定引數 ALL,則函數在計算總和時會保留表達式中的所有重複值。ALL 為預設值。
資料類型
SUM 函數支援的引數類型包括 SMALLINT、INTEGER、BIGINT、NUMERIC、DECIMAL、REAL、DOUBLE PRECISION 及 SUPER。
SUM 函數支援的傳回類型如下
-
BIGINT 代表 BIGINT、SMALLINT 及 INTEGER 引數
-
NUMERIC 代表 NUMERIC 引數
-
DOUBLE PRECISION 代表浮點數引數
針對任何其他引數類型,傳回與運算式相同的資料類型。
具有 NUMERIC 或 DECIMAL 引數的 SUM 函數,結果的預設精確度為 38。結果的小數位數和引數的小數位數相同。例如,DEC(5,2) 欄的 SUM 會傳回 DEC(38,2) 資料類型。
範例
從 SALES 資料表中尋找所有已付佣金的總和:
select sum(commission) from sales;
sum
-------------
16614814.65
(1 row)
尋找佛羅里達州的所有會場的座位數:
select sum(venueseats) from venue
where venuestate = 'FL';
sum
--------
250411
(1 row)
尋找五月售出的座位數:
select sum(qtysold) from sales, date
where sales.dateid = date.dateid and date.month = 'MAY';
sum
-------
32291
(1 row)