【发布时间】:2012-12-31 06:08:54
【问题描述】:
计算表中学生的 SGPA,公式是特定学生在特定学期注册的每门课程的 3*gradepoint 总和除以课程数。
我有一个名为 All_Registration 的表,其中包含如下字段和数据
╔════════════╦═════════════╦════════╦════════════╗
║ STUDENT_ID ║ SEMESTER ║ COURSE ║ GRADEPOINT ║
╠════════════╬═════════════╬════════╬════════════╣
║ i090170 ║ Fall 2000 ║ 200 ║ 3.67 ║
║ i090170 ║ Fall 2000 ║ 201 ║ 2.67 ║
║ i090170 ║ Fall 2000 ║ 203 ║ 2 ║
║ i090170 ║ Fall 2000 ║ 205 ║ 4 ║
║ i090170 ║ Fall 2000 ║ 209 ║ 3.67 ║
║ i090170 ║ Fall 2000 ║ 211 ║ 3 ║
║ i090170 ║ spring 2000 ║ 200 ║ 3.67 ║
║ i090170 ║ spring 2000 ║ 201 ║ 2.67 ║
║ i090170 ║ spring 2000 ║ 203 ║ 2 ║
║ i090170 ║ spring 2000 ║ 205 ║ 4 ║
║ i090170 ║ spring 2000 ║ 209 ║ 3.67 ║
╚════════════╩═════════════╩════════╩════════════╝
注意:学生可以在一个学期学习多门课程,即 5 或 6 门
我所做的是我计算了编号。学生在一个学期学习的课程数
select abc
from
(
select Student_Id,Semester, count(distinct Courses) as abc
from All_Registration B
group by Student_Id,Semester
)A;
这将返回学生在一个学期中学习的不同课程的数量
现在我想计算 SGPA。我想做一个查询,可以为每个学生的每个学期执行以下操作:
“所有课程的总和(学分*一门课程的3))/每门课程的数量 那个学生的学期”
【问题讨论】:
标签: sql join count group-by sum