聚集函数: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个聚集函数,可以用多种方法使用它们,返回所需的结果。这些函数很高效,它们返回结果一般比你在自己的客户端应用程序中计算快的多。