注:本文的数据库文件来自SQL必知必会官方网站,我采用的是SQLServer2000
我们经常需要汇总数据而不用把它们实际检索出来,为此,SQL提供了专门的函数,我们将其称为聚集函数,常用的聚集函数有以下五个:
1.AVG()函数。
AVG()函数用来对表的某一列数值进行求平均值的操作,如果需要获得多个列的平均值,则需要使用多个AVG()函数。
例:
SELECT AVG(product_price) AS avg_price
FROM Products;
注意:AVG()函数忽略值为NULL的行。
2.COUNT()函数
COUNT()函数主要用来计数,计算一共有多少列。
COUNT()函数有两种使用方式:
1.)使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
2.)使用COUNT(colunName)对特定的列进行计数,此时忽略NULL值
例:
SELECT COUNT(*) AS count
FROM Customers;
SELECT COUNT(prod_name)
FROM Products;
3.MAX()函数
MAX()函数用来返回指定的列的最大的值。
例:
SELECT MAX(prod_price) FROM Products;
注意:MAX()函数忽略值为NULL的记录。
4.MIN()函数
和MAX()函数相反,用法基本和MAX()一样,故不再赘述。
5.SUM()函数
SUM()函数用来返回指定列值的总和。
例:
SELECT SUM(quantity) AS items_orders
FROM OrderItems
WHERE order_num=20005
SUM()函数也可以用来合计计算值。请看下面的例子:
SELECT SUM(item_price*quantity) AS total_price
FROM OrderItems
WHERE orser_num=20005;
注意:利用标准的算术操作符,所有的聚集函数都可以执行多个列上的计算