聚集函數:SQL基本函數,聚集函數對一組值執行計算,並返回單個值,也被稱為組函數。聚集函數經常與SELECT語句的GROUP BY子句的HAVING一同使用。但是不可用於WHERE語句中,因為WHERE是對逐條的行記錄進行篩選。
定義:聚集函數對一組值執行計算並返回單一的值,除COUNT以外,聚集函數忽略空值(NULL),如果COUNT函數的應用對象是一個確定列名,並且該列存在空值,COUNT仍會忽略空值。
SQL聚集函數
函數 |
說明 |
語法 |
AVG() |
返回某列的平均值 |
SELECT AVG(column_name) FROM table_name |
COUNT() |
返回某列的行數 |
SELECT COUNT(column_name) FROM table_name |
MAX() |
返回某列的最大值 |
SELECT MAX(column_name) FROM table_name |
MIN() |
返回某列的最小值 |
SELECT MIN(column_name) FROM table_name |
SUM() |
返回某列值之和 |
SELECT SUM(column_name) FROM table_name |
上表是總結匯總出的SQL給出的5個聚集函數及語法,截止目前為止前邊講到的所有聚集函數例子都只涉及單個函數,但是實際上,SELECT語句可根據需要包含多個聚集函數。
舉例:還是使用我們的“TEST”表:
IBM |
CSP |
Price |
1 |
可樂 |
3.000 |
2 |
農夫山泉 |
2.000 |
3 |
脈動 |
5.000 |
4 |
康師傅 |
1.000 |
5 |
茅台 |
7.000 |
6 |
老村長 |
7.000 |
7 |
老村長 |
10.000 |
請看下面的例子:這里用單條SELECT語句執行了5個聚集計算,返回5個值(TEST表中的商品的數目,商品價格的最高值、最低值、平均值以及所有商品價格的匯總值)。
SELECT COUNT(*) AS nums, MIN(Price) AS min_Price, MAX(Price) AS max_Price, AVG(Price) AS avg_Price, SUM(Price) AS sum_Price FROM TEST
結果如下:
nums |
min_Price |
max_Price |
avg_Price |
sum_Price |
7 |
1.000 |
10.000 |
5.000000 |
35.000 |
聚集函數總結:
聚集函數用來匯總數據。SQL支持5個聚集函數,可以用多種方法使用它們,返回所需的結果。這些函數很高效,它們返回結果一般比你在自己的客戶端應用程序中計算快的多。