複製鏈接
請複製以下鏈接發送給好友

聚合函數

鎖定
聚合函數對一組值執行計算並返回單一的值。除COUNT 以外,聚合函數忽略空值,如果COUNT函數的應用對象是一個確定列名,並且該列存在空值,此時COUNT仍會忽略空值。聚合函數經常與SELECT語句的GROUP BY子句的HAVING一同使用。
中文名
聚合函數
外文名
aggregate function
應    用
軟件編程
性    質
確定性
別    名
組函數

目錄

聚合函數性質

所有聚合函數都具有確定性。任何時候用一組給定的輸入值調用它們時,都返回相同的值。聚合函數可以應用於查詢語句的SELECT中,或者HAVING子句中,但不可用於WHERE語句中,因為WHERE是對逐條的行記錄進行篩選。

聚合函數應用

Transact-SQL編程語言提供下列聚合函數:
  1. AVG 返回指定組中的平均值,空值被忽略。
例:select prd_no,avg(qty) from sales group by prd_no
2. COUNT 返回指定組中項目的數量。
例:select count(prd_no) from sales
3. MAX 返回指定數據的最大值。
例:select prd_no,max(qty) from sales group by prd_no
4. MIN 返回指定數據的最小值。
例:select prd_no,min(qty) from sales group by prd_no
5. SUM 返回指定數據的和,只能用於數字列,空值被忽略。
例:select prd_no,sum(qty) from sales group by prd_no
6. COUNT_BIG 返回指定組中的項目數量,與COUNT函數不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。
例:select count_big(prd_no) from sales
7. GROUPING 產生一個附加的列,當用CUBE或ROLLUP運算符添加行時,輸出值為1.當所添加的行不是由CUBE或ROLLUP產生時,輸出值為0.
例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup
8. BINARY_CHECKSUM 返回對錶中的行或表達式列表計算的二進制校驗值,用於檢測表中行的更改。
例:select prd_no,binary_checksum(qty) from sales group by prd_no
9. CHECKSUM_AGG 返回指定數據的校驗值,空值被忽略。
例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no
10. CHECKSUM 返回在表的行上或在表達式列表上計算的校驗值,用於生成哈希索引。
11. STDEV 返回給定表達式中所有值的統計標準偏差。
例:select stdev(prd_no) from sales
12. STDEVP 返回給定表達式中的所有值的填充統計標準偏差。
例:select stdevp(prd_no) from sales
13. VAR 返回給定表達式中所有值的統計方差。
例:select var(prd_no) from sales
14. VARP 返回給定表達式中所有值的填充的統計方差。
例:select varp(prd_no) from sales