-
1 基础知识
-
2 上机任务
聚合查询
数据查询是Mysql数据库管理最重要的一个功能,有些时候,并不需要返回数据本身,只需要对数据进行统计计算总结,那么就需要用到聚合函数进行查询
AVG([distinct] expr) | 求平均值 |
COUNT({*|[distinct] } expr) | 统计行的数量 |
MAX([distinct] expr) | 求最大值 |
MIN([distinct] expr) | 求最小值 |
SUM([distinct] expr) | 求累加和 |
1 COUNT函数
# COUNT(<*>):返回表查询结果中的总行数,不管是否有空值
# COUNT(<字段名>):返回字段查询结果中的总行数,忽略空值的行
【案例】
a 求会员总人数。
SELECT COUNT(*) AS '会员数'
FROM Members;
b 统计已结清的订单数。
SELECT COUNT(是否结清) AS '已结清的订单数'
FROM Sell;
注意:这里COUNT(是否结清)只统计是否结清列中不为NULL的行。
c 统计订购册数在5以上的订单数。
SELECT COUNT(订购册数) AS '订购册数在5以上的订单数‘
FROM Sell
WHERE 订购册数>5;
2 MAX和MIN
MAX和MIN分别用于求表达式中所有值项的最大值与最小值,语法格式为:
MAX / MIN ( [ ALL | DISTINCT ] expression )
其中,expression是常量、列、函数或表达式,其数据类型可以是数字、字符和时间日期 类型。
【案例】a 求订购了图书编号为ISBN 8-5006-6625-X的订单的最高订购册数和最低订购册数。
SELECT MAX(订购册数), MIN(订购册数)
FROM Sell
WHERE 图书编号 = ' ISBN 8-5006-6625-X';
注意:当给定列上只有空值或检索出的中间结果为空时,MAX和MIN函数的值也为空。
3 SUM函数和AVG函数
SUM和AVG分别用于求表达式中所有值项的总和与平均值,语法格式为:
SUM / AVG ( [ ALL | DISTINCT ] expression )
其中,expression是常量、列、函数或表达式,其数据类型只能是数值型。【案例】
a 求订购了图书编号为ISBN 8-5006-6625-X图书的订购总册数
。
SELECT SUM(订购册数) AS '订购总册数'
FROM Sell
WHERE 图书编号 = 'ISBN 8-5006-6625-X';
b 求订购图书编号为ISBN 8-5006-6625-X图书的订单平均册数。
SELECT AVG(订购册数) AS '每笔订单平均册数'
FROM Sell
WHERE 图书编号 = 'ISBN 8-5006-6625-X';

