汇总数据

it2026-04-07  3

SQL聚集函数 函数说明AVG()返回某列的平均值COUNT()返回某列的行数MAX()返回某列的最大值MIN()返回某列的最小值SUM()返回某列值之和 AVG()函数:可以用来返回所有列的平均值,也可以用来返回特定列或行的平均值

– 返回products表中所有产品的平均价格

SELECT AVG(prod_price) AS avg_price FROM products;

– 返回特定供应商所提供产品的平均价格

SELECT AVG(prod_price) AS avg_price FROM products WHERE vend_id=1003;

COUNT()函数有两种使用方式

– 使用COUNT(*)对表中行的数目进行计数,不管不管表列中包含的是空值(NULL)还是非空值– 使用COUNT(column)对特定列中具有值的行进计数,忽略NULL值

– 返回customers表中客户的总数

SELECT COUNT(*) FROM customers;

– 对有电子邮件地址的客户进行计数,

SELECT COUNT(cust_email) AS num_cust FROM customers;
MAX()返回指定列中的最大值,需要指定列名 SELECT MAX(prod_price) AS max_price FROM products;

注意: [1]对非数值数据使用MAX()  虽然MAX()一般用来找出最大的数值或日期值,但MySQL允许将它用来返回任意列中的最大值,包括用来返回文本列中的最大值,在用于文本数据时,如果数据按相应的列排序,则MAX()返回最后一行 [2]NULL值 --MAX()函数忽略列值为NULL的行

SELECT MAX(prod_name) FROM products;
MIN()函数 功能与MAX()相反,它返回指定列的最小值,与MAX()一样,MIN()要求指定列名

注意: [1]对非数值数据使用MIN()–MIN()函数与MAX()函数类似,但MySQL允许将它用来返回任意列中的最小值,包括用来返回文本列中的最小值,在用于文本数据时,如果数据按相应的列排序,则MIN()返回最前面的行 [2]NULL值 --MIN()函数忽略列值为NULL的行

SELECT MIN(prod_price) AS min_price FROM products;
SUM() --用来返回指定列值的和(总计)[忽略值为NULL的行] SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num=20005; SELECT SUM(item_price * quantity) AS total_price FROM orderitems WHERE order_num=20005; SELECT SUM(DISTINCT prod_price) FROM products;
组合聚集函数 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;
最新回复(0)