第9课 汇总数据
9.1 聚集函数
聚集函数:对某些行运行的函数,计算并返回一个值。
| 函数 | 说明 |
|---|---|
| AVG( ) | 返回某列的平均值 |
| COUNT( ) | 返回某列的行数 |
| MAX( ) | 返回某列的最大值 |
| MIN( ) | 返回某列的最小值 |
| SUM( ) | 返回某列之和 |
9.1.1 AVG( )函数
通过对表中行数计数并计算其列值之和,求得该列的平均值。
举例:
SELECT AVG(prod_price) AS avg_price
FROM Products;
AVG( )也可以用来确定特定列或行的平均值。
SELECT AVG(prod_price) AS avg_price
FROM Products
WHERE vend_id = 'DLL01';
AVG( )只能用来确定特定数值列的平均值,并且列名必须作为函数参数给出。
AVG( )函数忽略列值为NULL的行。
9.1.2 COUNT( )函数
COUNT( )函数进行计数。可利用COUNT( )确定表中行的数目或符合特定条件的行的数目。
COUNT( )函数有两种使用方式:
- 使用
COUNT(*)对表中行的数目进行计数,无论表列中是否包含空值(NULL)还是非空。 - 使用
COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。
举例:
SELECT COUNT(*) AS num_cust
FROM Customers;
结果显示返回值有5个,包括NULL。
SELECT COUNT(cust_email) AS num_cust
FROM Customers;
结果显示返回值有3个。
9.1.3 MAX( )函数
MAX( )返回指定列中的最大值。MAX( )要求指定列名,如下所示:
SELECT MAX(prod_price) AS max_price
FROM Products;
9.1.4 MIN( )函数
MIN( )返回指定列中的最小值。MIN( )要求指定列名,如下所示:
SELECT MIN(prod_price) AS min_price
FROM Products;
9.1.5 SUM( )函数
SUM( )用来返回指定列值的和(总计)。
SELECT SUM(quantity) AS items_ordered
FROM OrderItems
WHERE order_num = 20005;
9.2 聚集不同值
- 对所有值执行计算,默认指定ALL参数。
- 只包含不同的值,指定DISTINCT参数。
比如:AVG(DISTINCT prod_price)
9.3 组合聚集函数
SELECT语句可根据需要包含多个聚集函数。
SELECT COUNT(*) AS num_items,
MIN(prod_price) AS price_min,
MAX(prod_price) AS price_max,
AVG(prod_price) AS price_avg
FROM Products;

浙公网安备 33010602011771号