SQL 查询某门课程及格的总人数以及不及格的总人数以及没成绩的人数

追踪通过、失败、未通过的人数,SQL语句是正确的,但注意空值的处理可能需要额外的逻辑。

实用提示:计算非活跃学生人数时一定要考虑零值。

用SQL语句完成下列问题。

你写的大部分 SQL 语句都是正确的。
但有几点需要注意:
问题6 sql 选择一个学生ID,总分最高(六十) 桌子上他的名字 其中总和(分数)> 2 5 0 group by school ID
这里使用sum(分数)作为where条件是不正确的,因为where子句不能直接使用聚合函数。
聚合操作必须移至 HAVING 子句。
sql 选择一个学生ID,总分最高(六十) 桌子上他的名字 按学生 ID 分组 总分(分数)> 2 5 0
问题。
sql 选择学生 ID、平均分(分数))、课程名称 桌子上他的名字 其中总和(分数)> 2 5 0 按学号、课程名称分组 order by Avg(sum(score)) asc
同问题6 ,其中子句不能直接使用聚合函数,改为has,但Avg(score)的写法不正确。
直接输入Avg(分数)即可; sql 选择学生 ID、平均成绩(成绩),当然还有姓名 桌子上他的名字 其中总和(分数)> 2 5 0 按学号、课程名称分组 按平均(分数)asc 排序
问题。
sql 选择max(级别),当然是学生的名字 桌子上他的名字 其中最大值 (6 0) >= 9 0 小组课程,姓名学生
也不能在此处使用,其中直接使用聚合函数的子句必须更改为: sql 选择max(级别),当然是学生的名字 桌子上他的名字 按课程、学生姓名分组 最大(分数)>= 9 0
问题1 0: sql 选择学生 桌子上他的名字 其中 avg(sum(score)) > 8 5 且 min(score) >= 6 0 order by avg(sum(score)) desc
这里不能使用which子句直接使用聚合函数。
应该改成HAVE,而且写法avg(score))不正确。
直接写avg(分数)即可: sql 选择学生 桌子上他的名字 一群学生 avg(score) > 8 5 且 min(score) >= 6 0 从 avg(score) desc 排序
最后,看看剩下的。
继续做好工作!

从零学会sql:汇总分析

底线:聚合分析可以快速处理大量数据。

COUNT:计算行数。
COUNT():表中的总行数。
COUNT(列名):列中非空值的数量。

SUM:对值列求和。
SUM(Sales):计算总销售额。

AVG:计算平均值。
AVG(等级):计算平均分。

最大/最小:找到最佳值。
MAX(价格):最高价格。
MIN(年龄):最小。

其中:首先,过滤数据。
示例:WHERE 年级 = '新生'。

AS:命名结果。
示例:AS 学生人数。

GROUP BY:按列分组。
示例:按性别分组。

HAVING:筛选组结果。
示例:HAVING COUNT()>5 0。

按多列分组:按多列分组。
示例:按年级、性别分组。

SQL执行顺序:FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY。

常见错误: 1 . 引号错误:请使用英文引号。
2 .缺少AS:结果名称必须命名。
3 、WHERE/HAVING的混合使用:分组后使用HAVING。
4 .别名错误:HAVING没有使用SELECT别名。
5 . 错误的数据类型:操作和排序必须与该类型匹配。

自己掂量一下。