欢迎投稿

今日深度:

sql语句查询某一个学生的大学每年的平均绩点(

sql语句查询某一个学生的大学每年的平均绩点(实例教程),sql实例教程


1.要求:以一个同学为例,计算出某一年度的平均绩点,以sql语句的形式输出。

2.绩点求法:相应科目绩点乘相应科目学分,求和,

(sc_gpa * sc_course_credit)/(sum(sc_course_credit))

然后除所有学分的和,就是你的平均绩点。

学分越高的科目对平均绩点影响越大

3.步骤:

(1)先查询该学生这一年的成绩

select sc_student_name as 学生姓名,sc_course_name as 课程名称,

sc_course_credit as 课程学分,sc_gpa as 课程绩点

from t_score

where sc_student_id = "1120108116"

and sc_edu_year = "2015-2016";

(2)然后根据绩点算法算出该学生这一年的平均绩点

查询实例

select sc.`学生姓名`,

sum(sc.课程学分 * ifnull(sc.课程绩点,0))/sum(sc.`课程学分`) as 平均绩点

from (select sc_student_name as 学生姓名,sc_course_name as 课程名称,

sc_course_credit as 课程学分,sc_gpa as 课程绩点

from t_score

where sc_student_id = "1120108116"

and sc_edu_year = "2015-2016" ) as sc

where 1=1;

group by sc.`学生姓名`;

\

继续考虑小数点的取舍,修改查询语句

select sc.`学生姓名`,

round(sum(sc.课程学分 * ifnull(sc.课程绩点,0))/sum(sc.`课程学分`),1) as 平均绩点

from (select sc_student_name as 学生姓名,sc_course_name as 课程名称,

sc_course_credit as 课程学分,sc_gpa as 课程绩点

from t_score

where sc_student_id = "1120108116"

and sc_edu_year = "2015-2016" ) as sc

where 1=1;

group by sc.`学生姓名`;

\

www.htsjk.Com true http://www.htsjk.com/Sql_Server/24615.html NewsArticle sql语句查询某一个学生的大学每年的平均绩点(实例教程),sql实例教程 1.要求:以一个同学为例,计算出某一年度的平均绩点,以sql语句的形式输出。 2.绩点求法:相应科目绩点乘相...
评论暂时关闭