SQL Server彙總資料之聚合函式與分組
阿新 • • 發佈:2019-02-02
在SQL查詢的邏輯流程中,聚合函式是在From子句和Where子句之後執行的,這
意味著無須使用子查詢就可以在彙總(使用聚合函式)前對資料進行組裝和篩選。
基本聚合(函式)
聚合函式
支援的資料型別
描述
sum( )
Numeric
計算指定列中所有非空值的總和
avg()
numeric
計算指定列中所有非空值的平均值
min()
numeric、string、datetime
返回指定列中最小的數字或根據排序規則返回最前面的日期或字串
max()
numeric、string、datetime
返回指定列中最大的數字或根據排序規則返回最前面的日期或字串
count( [distinct] *)
任何基於行的資料型別
計算結果集中的總行數,
count_big( [distinct] *)
任何基於行的資料型別
與count類似,但是其返回型別是binint比count大
使用一般聚合函式時的規則:
1、由於現在SQL返回資料庫中的資訊,而不是建立一個由行組成的記錄集,因此查詢包含
聚合函式時,每一列(列列表、表示式、或order by中的列)都必須參與聚合函式的計算。
2、聚合選項distinct的作用與Select distinct 相同,但聚合選項中的distinct消除重複的
值而不是重複的行。
注:count( distinct * )是非法的,必須指定特定的列。
count(*)計算資料集的總行數,但count(clomun名)計算在指定列中有值的總行數
由於聚合函式屬於表示式,因此結果中沒有列名,最好指定列名