————介绍什么是SQL的汇总函数,如何利用它们汇总表的数据
| 函数 | 说明 |
|---|---|
| AVG() | 返回某列的平均值 |
| COUNT() | 返回某列的行数 |
| MAX() | 返回某列的最大值 |
| MIN() | 返回某列的最小值 |
| SUM() | 返回某列值之和 |
8.1 AVG()函数
AVG()函数忽略值为NULL的行
SELECT AVG(Prod_price) AS avg_price FROM Products; /*返回表中所有产品的平均价格*/
SELECT AVG(Prod_price) AS avg_price FROM Products WHERE vend_id = 'DLL01';8.2 COUNT()函数
使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值
SELECT COUNT(*) AS num_cust FROM Customers;使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值
SELECT COUNT(cust_email) AS num_cust FROM Customers;8.3 MAX()函数
MAX()返回指定列中的最大值,MAX()要求指定列名
- MAX()函数忽略列值为NULL的行
MAX()函数对于文本数据时,返回该列排序后的最后一行
SELECT MAX(prod_price) AS max_price FROM Products;8.4 MIN()函数
SELECT MIN(prod_price) AS min_price FROM Products;MIN()函数对于文本数据时,返回该列排序后的第一行
-
8.5 SUM()函数
SELECT SUM(quantity) AS item_ordered FROM OrderItems WHERE order_num = 20005; SUM()也可以合计计算值
SUM()函数忽略列值为NULL的行
SELECT SUM(item_price*quantity) AS total_price FROM OrderItems WHERE order_num = 20005;8.6 聚焦不同的值
对所有行执行计算,指定ALL参数或不指定参数(因为ALL是默认行为)
- 只包含不同值,指定DISTINCT参数,DISTINCT不能用于COUNT(*)
SELECT AVG(DISTINCT Prod_price) AS avg_price FROM Products;8.7 组合聚焦函数
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;
