Mysql学习_第九章_汇总数据

汇总数据

聚集函数

AVG() 函数 AVG() 通过对表中行数计数并计算其列值之和,求得该列的平均值。 AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。

SELECT AVG(prod_price) AS avg_price
FROM Products;
#返回prod_price字段的平均值
SELECT AVG(prod_price) AS avg_price
FROM Products
WHERE vend_id = DLL01;
#返回vend_id位DLL01的prod_price的平均值

COUNT() 函数

  1. COUNT() 函数进行计数。可利用 COUNT() 确定表中行的数目或符合特定条件的行的数目。
  2. 使用 COUNT(*) 对表中行的数目进行计数,不管表列中包含的是空值( NULL )还是非空值。
  3. 使用 COUNT(column) 对特定列中具有值的行进行计数,忽略 NULL 值。
SELECT COUNT(*) AS num_cust
FROM Customers;
#对customers表中所有记录进行计数
SELECT COUNT(cust_email) AS num_cust
FROM Customers;
#对customer表中含有cust_email的记录的进行计数

MAX() 函数

MAX() 返回指定列中的最大值。 MAX() 要求指定列名

在用于文本数据时, MAX() 返回按该列排序后的最后一行。

SELECT MAX(prod_price) AS max_price
FROM Products;

备注:MAX() 函数忽略列值为 NULL 的行。

MIN() 函数 返回最小值 用法同max()

SUM() 函数 SUM() 用来返回指定列值的和(总计)。

SELECT SUM(quantity) AS items_ordered
FROM OrderItems
WHERE order_num = 20005;

SUM() 也可以用来合计计算值。

SELECT SUM(item_price*quantity) AS total_price
FROM OrderItems
WHERE order_num = 20005;

备注:sum忽略NULL值

聚集不同值

只包含不同的值,防止出现多次的同一个数值被反复统计,指定 DISTINCT 参数。

SELECT AVG(DISTINCT prod_price) AS avg_price
FROM Products
WHERE vend_id = DLL01;

组合聚集函数

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;
经验分享 程序员 微信小程序 职场和发展