MySQL提供一些查询功能,可以对获取的数据进行分析和报告。如,计算行数的总和、最大值、最小值或平均值等。这些函数称为聚合函数。
COUNT()函数
COUNT()函数统计数据表中包含的记录行的总数。使用方法有两种:
- COUNT(*):计算表中总的行数,不管某列有数值或者空值。
- COUNT(字段名):计算指定列下总的行数,计算时将忽略空值的行。
- COUNT(DISTINCT 字段名):返回不同值得个数。
SELECT COUNT(*) as cust_num
FROM customers;
SELECT COUNT(c_email) as email_num
FROM customers;
SUM()函数
SUM()是一个求总和的函数,返回指定列值得总和。忽略列值为NULL的行。
#在ordersitems表中,使用SUM函数统计不同订单中订购的水果总量。
SELECT o_num,SUM(quantity) as items_total
FROM orderitems
GROUP BY o_nums;
AVG()函数
AVG()函数通过计算返回行数和每一行数据的总和,求得指定列数据的平均值。忽略列值为NULL的行。
SELECT s_id,AVG(f_price) as avg_price
FROM fruits
GROUP BY s_id;
MAX()函数
MAX()函数返回指定列中的最大值。忽略列值为NULL的行。
SELECT MAX(f_price) as max_price
FROM fruits;
MIN()函数
MIN()函数返回指定列中的最小值。忽略列值为NULL的行。
SELECT MIN(f_price) as min_price
FROM fruits;
组合聚合函数
SELECT COUNT(*) as num_items,
MIN(prod_price) as min_price,
MAX(prod_price) as max_price,
AVG(prod_price) as avg_price,
FROM products;