sql - 统计失败成绩的数量 SQL
问题描述
我需要找到成绩最不及格的前 5 名学生。所以我必须计算每个的不及格成绩的数量PERSON_ID
,然后我需要按每个不及格的成绩数量排序,PERSON_ID
然后排名靠前
使用此语句,所有表格都被连接起来,并且只显示成绩不及格的学生。现在我只需要计算每个分数的不及格数量PERSON_ID
,然后订购它。
执行此操作时,我不断收到语法错误。希望可以有人帮帮我。
解决方案
可能你可以使用类似下面的查询。当我不了解列/架构/数据的更多信息时,我会特别注意连接中的计数
Select
TOP 5
students.PERSON_ID,
NumberOfGradesFailed=COUNT(1)
from students
inner join grades
on students.PERSON_ID = grades.PERSON_ID
inner join grade_types
on grades.Grade = grade_types.Grade
where PASSING_GRADE = 0
group by students.PERSON_ID
ORDER BY 2 DESC
推荐阅读
- html - CSS按钮斜线作为背景只是编辑颜色
- javascript - 使用 JSExecutor 从另一个文档中获取文档
- javascript - 如何使引导树视图从父级折叠到子级?
- java - 如何将此 xml 响应映射到 java 对象
- python - 如果在遍历 pandas 中的多个文件时满足条件,如何跳过 for 循环迭代?
- c# - C# - 使用多个图片框处理鼠标位置
- dart - Dart GRPC 生成的类可以有自定义的 mixin 吗?
- django - CAS django - 如何直接发送用户名和密码而不重定向到 CAS 服务器 -
- javascript - RxJS takeLast 函数停止一切
- r - 应用 max.col 后如何从每个列表级别检索行名