# 错误 # select gpa from user_profile # where gpa= max(gpa) and university='复旦大学'; # 使用max方法1:用max-最大值函数 select max(gpa) as gpa from user_profile where university='复旦大学' # 方法2:降序排序取第一名 select gpa from user_profile where university='复旦大学' order by gpa desc limit 1;
知识
使用聚合函数汇总数据
SQL提供的统计函数有:
COUNT(【Shift+8】):统计表中元组个数;
COUNT([DISTINCT] <列名>):统计本列列值个数;
SUM( <列名> ):计算列值总和;
AVG( <列名> ):计算列值平均值;
MAX( <列名> ):求列值最大值;
MIN( <列名> ): 求列值最小值。
上述函数中除COUNT(【Shift+8】)外,其他函数在计算过程中均忽略NULL值。
统计函数不能出现在WHERE子句中。
例如,查询成绩最高的学生的学号,如下写法是错误的:
SELECT 学号 FROM 成绩表
WHERE 成绩 = MAX(成绩)
例29.统计学生总人数。
1 |
|
例30.统计选修了课程的学生的人数。
1 2 |
|
例31.计算学号为“11214D24”的学生的考试总成绩之和。
1 2 |
|
例32.计算“M01F011”课程的学生的考试平均成绩。
1 2 |
|
例33.查询选修了“M01F011” 课程的最高分和最低分。
复制代码
1 2 3 |
|