sql sever查询选修课程数大于等于2 的学生的学号、平均成绩和选课门数,并按 平均成绩降序排列。
时间: 2024-03-03 20:52:02 浏览: 394
好的,你可以使用以下 SQL 语句来查询:
SELECT 选课表.学号, AVG(成绩) AS 平均成绩, COUNT(*) AS 选课门数
FROM 选课表
WHERE 选课表.学号 IN (
SELECT 学号
FROM 选课表
GROUP BY 学号
HAVING COUNT(*) >= 2
)
GROUP BY 选课表.学号
ORDER BY AVG(成绩) DESC;
其中,选课表
是你所查询的选课信息表的表名,学号
和 成绩
是你所需要的字段名。首先在子查询中筛选出选修课程数大于等于2的学生,然后在主查询中统计这些学生的平均成绩和选课门数,并按照平均成绩降序排列。
相关问题
sql sever查询选修了两门以上课程的学生学号与课程数。
好的,你可以使用以下 SQL 语句来查询:
SELECT 选课表.学号, COUNT(*) AS 课程数
FROM 选课表
GROUP BY 选课表.学号
HAVING COUNT(*) >= 2;
其中,选课表
是你所查询的选课信息表的表名,学号
是你所需要的字段名。COUNT(*)
用于统计每个学生选择的课程数,GROUP BY
子句用于按照学号对结果进行分组,HAVING
子句中的 COUNT(*) >= 2
用于筛选选修了两门以上课程的学生。
sql sever查询选修了【数据库原理】的计算机系的学生学号和姓名
以下是查询选修了【数据库原理】的计算机系的学生学号和姓名的 SQL Server 语句:
SELECT s.学号, s.姓名
FROM 学生 s
JOIN 选课 x ON s.学号 = x.学号
JOIN 课程 c ON x.课程编号 = c.课程编号
JOIN 学院 y ON s.学院编号 = y.学院编号
WHERE c.课程名称 = '数据库原理' AND y.学院名称 = '计算机系';
注意,这个查询假设学生表为 学生
,选课表为 选课
,课程表为 课程
,学院表为 学院
,且它们之间的关系已经正确建立。如果表名或列名不同,需要相应调整语句。
相关推荐
















