返回表達(dá)式中所有值的和,或只返回 DISTINCT 值。SUM 只能用于數(shù)字列??罩祵⒈缓雎浴?/P>
SUM ( [ ALL | DISTINCT ] expression )
ALL
對(duì)所有的值進(jìn)行聚合函數(shù)運(yùn)算。ALL 是默認(rèn)設(shè)置。
DISTINCT
指定 SUM 返回唯一值的和。
expression
是常量、列或函數(shù),或者是算術(shù)、按位與字符串等運(yùn)算符的任意組合。expression 是精確數(shù)字或近似數(shù)字?jǐn)?shù)據(jù)類型分類(bit 數(shù)據(jù)類型除外)的表達(dá)式。不允許使用聚合函數(shù)和子查詢。
以最精確的 expression 數(shù)據(jù)類型返回所有表達(dá)式值的和。
表達(dá)式結(jié)果 | 返回類型 |
---|---|
整數(shù)分類 | int |
decimal 分類 (p, s) | decimal(38, s) |
money 和 smallmoney 分類 | money |
float 和 real 分類 | float |
重要 當(dāng)使用 CUBE 或 ROLLUP 時(shí),不支持區(qū)分聚合,例如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用了,Microsoft® SQL Server™ 將返回錯(cuò)誤信息并取消查詢。
下列示例顯示聚合函數(shù)和行聚合函數(shù)之間的區(qū)別。第一個(gè)示例顯示只提供匯總數(shù)據(jù)的聚合函數(shù),第二個(gè)示例顯示提供詳盡數(shù)據(jù)和匯總數(shù)據(jù)的行聚合函數(shù)。
USE pubs
GO
-- Aggregate functions
SELECT type, SUM(price), SUM(advance)
FROM titles
WHERE type LIKE '%cook'
GROUP BY type
ORDER BY type
GO
下面是結(jié)果集:
type
------------ -------------------------- --------------------------
mod_cook 22.98 15,000.00
trad_cook 47.89 19,000.00
(2 row(s) affected)
USE pubs
GO
-- Row aggregates
SELECT type, price, advance
FROM titles
WHERE type LIKE '%cook'
ORDER BY type
COMPUTE SUM(price), SUM(advance) BY type
下面是結(jié)果集:
type price advance
------------ -------------------------- --------------------------
mod_cook 19.99 0.00
mod_cook 2.99 15,000.00
sum
==========================
22.98
sum
==========================
15,000.00
type price advance
------------ -------------------------- --------------------------
trad_cook 20.95 7,000.00
trad_cook 11.95 4,000.00
trad_cook 14.99 8,000.00
sum
==========================
47.89
sum
==========================
19,000.00
(7 row(s) affected)
下例計(jì)算每類書(shū)籍的價(jià)格和預(yù)付款總和。
USE pubs
GO
SELECT type, SUM(price), SUM(advance)
FROM titles
GROUP BY type
ORDER BY type
GO
下面是結(jié)果集:
type
------------ -------------------------- --------------------------
business 54.92 25,125.00
mod_cook 22.98 15,000.00
popular_comp 42.95 15,000.00
psychology 67.52 21,275.00
trad_cook 47.89 19,000.00
UNDECIDED (null) (null)
(6 row(s) affected)
相關(guān)文章