2 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
聚合函數(shù)對一組值計(jì)算后返回單個(gè)值。除了count(統(tǒng)計(jì)項(xiàng)數(shù))函數(shù)以外,其他的聚合函數(shù)在計(jì)算式都會(huì)忽略空值(null)。所有的聚合函數(shù)均為確定性函數(shù)。即任何時(shí)候使用一組相同的輸入值調(diào)用聚合函數(shù)執(zhí)行后的返回值都是相同的,無二義性。T-SQL提供的聚合函數(shù)一共有13個(gè)之多。
聚合函數(shù)通常會(huì)在下列場合使用:
1、select語句的選擇列表,包括子查詢和外部查詢。
2、使用compute或compute by產(chǎn)生匯總列時(shí)。
3、having子句對分組的數(shù)據(jù)記錄進(jìn)行條件篩選。
聚合函數(shù):
1、平均值A(chǔ)VG
AVG函數(shù)用于計(jì)算精確型或近似型數(shù)據(jù)類型的平均值,bit類型除外,忽略null值。AVG函數(shù)計(jì)算時(shí)將計(jì)算一組數(shù)的總和,然后除以為null的個(gè)數(shù),得到平均值。
語法結(jié)構(gòu):
avg( [ all | distinct ] expression )
2、最小值MIN
MIN函數(shù)用于計(jì)算最小值,MIN函數(shù)可以適用于numeric、char、varchar或datetime、money或smallmoney列,但不能用于bit列。不允許使用聚合函數(shù)和子查詢,忽略null值。
語法結(jié)構(gòu):
min( [ all | distinct ] expression )
3、最大值MAX
MAX函數(shù)用于計(jì)算最大值,忽略null值。max函數(shù)可以使用于numeric、char、varchar、money、smallmoney、或datetime列,但不能用于bit列。不允許使用聚合函數(shù)和子查詢。
語法結(jié)構(gòu):
MAX ( [ all | distinct ] expression )
4、求和值SUM
SUM函數(shù)用于求和,只能用于精確或近似數(shù)字類型列(bit類型除外),忽略null值,不允許使用聚合函數(shù)和子查詢。
語法結(jié)構(gòu):
SUM ( [ all | distinct ] expression )
5、統(tǒng)計(jì)項(xiàng)數(shù)值count(count_big)
count函數(shù)用于計(jì)算滿足條件的數(shù)據(jù)項(xiàng)數(shù),返回int數(shù)據(jù)類型的值。
語法結(jié)構(gòu):
count( {[[ all | distinct] expression ] | * } )
6、計(jì)算標(biāo)準(zhǔn)偏差值STDEV
語法結(jié)構(gòu):
STDEV( [all | distinct ] expression )
7、計(jì)算方差VAR
VAR函數(shù)用于計(jì)算指定表達(dá)式中所有值的方差。
語法結(jié)構(gòu):
VAR( [ all | distinct ] expression )
8、CHECKSUM_AGG
返回組中各值的校驗(yàn)和。 將忽略 Null 值。CHECKSUM_AGG 可用于檢測表中的更改。表中行的順序不影響 CHECKSUM_AGG 的結(jié)果。此外,CHECKSUM_AGG 函數(shù)還可與 DISTINCT 關(guān)鍵字和 GROUP BY 子句一起使用。如果表達(dá)式列表中的某個(gè)值發(fā)生更改,則列表的校驗(yàn)和通常也會(huì)更改。但只在極少數(shù)情況下,校驗(yàn)值會(huì)保持不變。
語法如下:
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
9、COUNT_BIG
返回組中的項(xiàng)數(shù)。 COUNT_BIG 的用法與 COUNT 函數(shù)類似。 兩個(gè)函數(shù)唯一的差別是它們的返回值。 COUNT_BIG 始終返回 bigint 數(shù)據(jù)類型值。 COUNT 始終返回 int 數(shù)據(jù)類型值。
10、STDEVP
11、GROUPING
12、GROUPING_ID
13、VARP

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
count() 所有記錄數(shù)
count(*)所有非null記錄數(shù)
avg() 某一列平均值
min() 某一列最小值
max() 某一列最大值
sum() 某一列總和
- 2 回答
- 0 關(guān)注
- 1289 瀏覽
添加回答
舉報(bào)