首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算gpa sql

计算gpa sql
EN

Stack Overflow用户
提问于 2012-12-31 06:08:54
回答 1查看 3.5K关注 0票数 0

为了计算表中学生的SGPA,公式是某一学生在特定学期注册的每门课程的3级和除以no.of课程。

我有一个名为All_Registration的表,其字段和数据如下所示

代码语言:javascript
复制
╔════════════╦═════════════╦════════╦════════════╗
║ 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       ║
╚════════════╩═════════════╩════════╩════════════╝

注:学生可在第五或第六学期选修多门课程。

我这样做的是,我计算了数字。学生在一学期内选修的课程

代码语言:javascript
复制
select abc
from
(
    select Student_Id,Semester, count(distinct Courses) as abc
    from All_Registration B
    group by Student_Id,Semester
)A;

这将返回学生在一学期内参加的不同课程的数量。

现在我想计算SGPA。我想对每个学生的每个学期进行如下查询:

所有课程的总和(课程的年级点*3))该学生每学期的/no.of课程

EN

回答 1

Stack Overflow用户

发布于 2012-12-31 06:19:09

尝尝这个,

代码语言:javascript
复制
select sum(Gradepoint*3)/count (distinct course) as gpa
from All_Registration group by Student_Id,Semester 

or

select (3*sum(Gradepoint))/count (distinct course) as gpa
from All_Registration group by Student_Id,Semester

抽样结果:

代码语言:javascript
复制
GPA
36927.03
12049.02

注意:我没有把你所有的数据都包括在内。因此,这个结果将与您期望的不同。

SQL Fiddle演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14098114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档