聚合函數執行一個或多個值的計算并返回單個值。 聚合函數通常與[SELECT]語句的[GROUP BY]子句和[HAVING]子句一起使用。
下表顯示了SQL Server中的聚合函數:
| 編號 | 聚合函數 | 描述 |
| --- | --- | --- |
| 1 | AVG()函數 "AVG()函數" | `AVG()`函數用于計算集合中非`NULL`值的平均值。 |
| 2 | CHECKSUM\_AGG()函數] | `CHECKSUM_AGG()`函數根據一組行計算校驗和值。 |
| 3 | COUNT()函數 | `COUNT()`函數返回集合中的行數,包括具有`NULL`值的行。 |
| 4 | COUNT\_BIG()函數 | `COUNT_BIG()`函數返回組中的行數(具有`BIGINT`數據類型),包括具有`NULL`值的行。 |
| 5 | [MAX()函數 | `MAX()`函數返回集合中非`NULL`值中的最大值。 |
| 6 | MIN()函數 | `MIN()`函數返回集合中非`NULL`值中的最小值。 |
| 7 | STDEV()函數 | `STDEV()`函數返回所提供表達式的所有值的統計標準偏差,但基于數據總體的樣本。 |
| 8 | STDEVP()函數 | `STDEVP()`函數還返回所提供表達式的所有值的標準偏差,但基于整個數據填充。 |
| 9 | SUM()函數 | `SUM()`函數返回集合中所有非`NULL`值的總和。 |
| 10 | VAR()函數 | `VAR()`函數根據指定總體的樣本,返回表達式中值的統計方差。 |
| 11 | VARP()函數 | `VARP()`函數返回表達式中值的統計方差,但是基于整個數據總體。 |
#### SQL Server聚合函數語法
以下是聚合函數的語法:
~~~sql
aggregate_function_name(DISTINCT | ALL expression)
~~~
在這個語法中;
* 首先,指定要使用的聚合函數的名稱,例如:`AVG`,`SUM`和`MAX`。
* 其次,如果只想在計算中考慮不同的值,則使用`DISTINCT`;如果在計算中考慮所有值,則使用`ALL`。 默認情況下,如果未指定任何修飾符,則使用`ALL`。
* 第三,`expression`可以是表的列,也可以是由具有算術運算符的多個列組成的表達式。
#### SQL Server聚合函數示例
下面將使用[示例數據庫](https://www.yiibai.com/sqlserver/sql-server-sample-database.html "示例數據庫")中的`products`表進行演示。

**1\. AVG()函數示例**
以下語句使用`AVG()`函數返回`products`表中所有產品的平均價格:
~~~sql
SELECT
AVG(list_price) avg_product_price
FROM
production.products;
~~~
執行上面查詢語句,得到以下結果:

上圖中平均價格有`6`位小數。一般需要將結果舍入到兩位小數的數字。 為此,可以使用`ROUND`和`CAST`函數,如以下查詢中所示:
~~~sql
SELECT
CAST(ROUND(AVG(list_price),2) AS DEC(10,2))
avg_product_price
FROM
production.products;
~~~
執行上面查詢語句,得到以下結果:

首先,`ROUND`函數返回舍入的平均價格。 然后`CAST`函數將結果轉換為帶有兩個小數位的十進制數。
**2\. COUNT()函數示例**
以下語句使用`COUNT()`函數返回價格大于`500`的產品數量:
~~~sql
SELECT
COUNT(*) product_count
FROM
production.products
WHERE
list_price > 500;
~~~
執行上面查詢語句,得到以下結果:

在這個例子中:
* 首先,`WHERE`子句獲取價格大于`500`的產品。
* 其次,`COUNT`函數返回價格大于`500的`產品數量。
**3\. MAX()函數示例**
以下語句使用`MAX()`函數返回所有產品的最高定價:
~~~sql
SELECT
MAX(list_price) max_list_price
FROM
production.products;
~~~
執行上面查詢語句,得到以下結果:

**4\. MIN()函數示例**
同樣,以下語句使用`MIN()`函數返回所有產品的最低定價:
~~~sql
SELECT
MIN(list_price) min_list_price
FROM
production.products;
~~~
執行上面查詢語句,得到以下結果:

**5\. SUM()函數示例**
為了方便演示`SUM()`函數的使用,下面將使用[示例數據庫](https://www.yiibai.com/sqlserver/sql-server-sample-database.html "示例數據庫")中的`stocks`表。

以下語句使用`SUM()`函數計算所有倉庫中產品ID的總庫存:
~~~sql
SELECT
product_id,
SUM(quantity) stock_count
FROM
production.stocks
GROUP BY
product_id
ORDER BY
stock_count DESC;
~~~
執行上面查詢語句,得到以下結果:

以下是該語句的工作原理:
* 首先,`GROUP BY`子句按產品ID將行匯總為組。
* 其次,`SUM()`函數計算每個組的數量總和。
**6\. STDEV()函數示例**
以下語句使用`STDEV()`函數計算所有價格的統計標準差:
~~~sql
SELECT
CAST(ROUND(STDEV(list_price),2) as DEC(10,2)) stdev_list_price
FROM
production.products;
~~~
執行上面查詢語句,得到以下結果:
STEEV計算標準方差("STEEV計算標準方差")
- 第一章-測試理論
- 1.1軟件測試的概念
- 1.2測試的分類
- 1.3軟件測試的流程
- 1.4黑盒測試的方法
- 1.5AxureRP的使用
- 1.6xmind,截圖工具的使用
- 1.7測試計劃
- 1.8測試用例
- 1.9測試報告
- 2.0 正交表附錄
- 第二章-缺陷管理工具
- 2.1缺陷的內容
- 2.2書寫規范
- 2.3缺陷的優先級
- 2.4缺陷的生命周期
- 2.5缺陷管理工具簡介
- 2.6缺陷管理工具部署及使用
- 2.7軟件測試基礎面試
- 第三章-數據庫
- 3.1 SQL Server簡介及安裝
- 3.2 SQL Server示例數據庫
- 3.3 SQL Server 加載示例
- 3.3 SQL Server 中的數據類型
- 3.4 SQL Server 數據定義語言DDL
- 3.5 SQL Server 修改數據
- 3.6 SQL Server 查詢數據
- 3.7 SQL Server 連表
- 3.8 SQL Server 數據分組
- 3.9 SQL Server 子查詢
- 3.10.1 SQL Server 集合操作符
- 3.10.2 SQL Server聚合函數
- 3.10.3 SQL Server 日期函數
- 3.10.4 SQL Server 字符串函數
- 第四章-linux
- 第五章-接口測試
- 5.1 postman 接口測試簡介
- 5.2 postman 安裝
- 5.3 postman 創建請求及發送請求
- 5.4 postman 菜單及設置
- 5.5 postman New菜單功能介紹
- 5.6 postman 常用的斷言
- 5.7 請求前腳本
- 5.8 fiddler網絡基礎及fiddler簡介
- 5.9 fiddler原理及使用
- 5.10 fiddler 實例
- 5.11 Ant 介紹
- 5.12 Ant 環境搭建
- 5.13 Jmeter 簡介
- 5.14 Jmeter 環境搭建
- 5.15 jmeter 初識
- 5.16 jmeter SOAP/XML-RPC Request
- 5.17 jmeter HTTP請求
- 5.18 jmeter JDBC Request
- 5.19 jmeter元件的作用域與執行順序
- 5.20 jmeter 定時器
- 5.21 jmeter 斷言
- 5.22 jmeter 邏輯控制器
- 5.23 jmeter 常用函數
- 5.24 soapUI概述
- 5.25 SoapUI 斷言
- 5.26 soapUI數據源及參數化
- 5.27 SoapUI模擬REST MockService
- 5.28 Jenkins的部署與配置
- 5.29 Jmeter+Ant+Jenkins 搭建
- 5.30 jmeter腳本錄制
- 5.31 badboy常見的問題
- 第六章-性能測試
- 6.1 性能測試理論
- 6.2 性能測試及LoadRunner簡介
- 第七章-UI自動化
- 第八章-Maven
- 第九章-測試框架
- 第十章-移動測試
- 10.1 移動測試點及測試流程
- 10.2 移動測試分類及特點
- 10.3 ADB命令及Monkey使用
- 10.4 MonkeyRunner使用
- 10.5 appium工作原理及使用
- 10.6 Appium環境搭建(Java版)
- 10.7 Appium常用函數(Java版)
- 10.8 Appium常用函數(Python版)
- 10.9 兼容性測試