用SQL语句查询计算机科学系中选修课程门数大于刘德华同学(也是计算机科学系)所选课程门数的所有的学生姓名的选课门数及加权平均成绩,要求选课门数和加权平均成绩都按降序输出。【注:加权平均成绩等于所有课程的学分与成绩之和除以所有课程学分之和】
时间: 2023-06-06 13:06:15 浏览: 73
好的,这是一个计算机科学系的SQL语句问题,我可以回答。以下是SQL语句:
SELECT s.name, COUNT(sc.course_id) AS course_num, SUM(sc.credit*sc.grade)/SUM(sc.credit) AS weighted_avg_grade
FROM student s
JOIN sc ON s.id = sc.student_id
WHERE s.major = '计算机科学系'
GROUP BY s.name
HAVING COUNT(sc.course_id) > (SELECT COUNT(*) FROM sc WHERE student_id = (SELECT id FROM student WHERE name = '刘德华'))
ORDER BY course_num DESC, weighted_avg_grade DESC;
这个SQL语句会返回计算机科学系中选修课程门数大于刘德华同学所选课程门数的所有的学生姓名的选课门数及加权平均成绩,要求选课门数和加权平均成绩都按降序输出。
阅读全文