聚合函數能夠對數據進行某種操做或者計算。好比幾個經常使用的函數:
COUNT:計算表中行數。
SUM:計算表中數據列中數據的合計值。
AVG:計算表中數據列中數據的平均值。
MAX:求出表中任意列中數據的最大值。
MIN:求出表中任意列中數據的最小值。
下面用這個幾個函數對如下表進行操做。
sql
SELECT COUNT(*) FROM Product;
記錄爲NULL的行不記入行數,如進價這一列,有兩個NULL。若是用COUNT計算行數,就會獲得6。函數
SELECT COUNT(purchase_price) FROM Product;
可是若是一個表只有一列,記錄了三行記錄,這三條記錄都爲NULL。若是用COUNT()求行數,會獲得3.若是用COUNT<列名>求行數,會獲得0.由於COUNT()會獲得包含NULL的數據,COUNT<列名>會獲得NULL之外的數據。而且只有COUNT函數能夠用*做爲參數。3d
SELECT SUM(purchase_price) FROM Product;
注意進價這一列有兩個NULL的數據。以前提到過四則運算中,若是包含NULL,那麼結果也是NULL。可是SUM函數不一樣,SUM函數會在運算前就將NULL排除在外。code
SELECT AVG(purchase_price) FROM Product;
和SUM同樣,AVG會在計算前將NULL排除,因此計算過程是(500+320+2800+2800+500+790)/6。blog
SELECT MIN(purchase_price) ,MAX(sale_price) FROM Product;