函数 | 说明 |
---|---|
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;