聚集函数
有时我们需要汇总数据而不是把数据实际检索出来。
比如:
确定表中行数。
获得表中某些行的和
函 数 | 说 明 |
AVG() | 返回某列的平均值 |
COUNT() | 返回某列的行数 |
MAX() | 返回某列的最大值 |
MIN() | 返回某列的最小值 |
SUM() | 返回某列值之和 |
一:AVG()
使用AVG函数返回表中某列的平均价格:
SELECT AVG(prod_price) AS avg_price FROM Products;
所有产品的平均价格。
使用AVG函数返回表中特定行的平均价格:
SELECT AVG(prod_price) AS avg_price FROM Products where vend_id='DLL01';
供应商id为‘DLL01’的产品的平均价格。
说明:AVG()函数自动忽略列值为NULL的行。
二:COUNT()
count(*) 对表中的行的数目进行计数,不管列中包含的是空值(NULL)还是非空值。
count(column) 忽略NULL值
使用count(*) 函数
SELECT COUNT(*) AS num_cust FROM Customers
使用count(cust_email) 函数
select count(cust_email) as num_cust from Customers
只计算cust_email列有值的行进行计数。
三:SUM()
返回两个列的值相乘后相加后的结果。
select sum(item_price*quantity) as total_price from orderitems where order_num=20005;
本例说明sum(函数)可在多个列中进行计算
说明:SUM()函数自动忽略列值为NULL的行。
四,五:MAX(),MIN()
聚集不同的值:
以上5个聚集函数均可以如下使用:
对所有行执行计算,默认为ALL。
只包含不同的值,指定DISTINCT参数。