用mysql 查询选修了2门以上课程的学生学号和平均成绩。
时间: 2023-06-05 19:08:32 浏览: 244
这是一个技术问题,可以回答。您可以使用以下SQL语句查询:
SELECT student_id, AVG(score) as avg_score
FROM course_selection
GROUP BY student_id
HAVING COUNT(*) >= 2;
相关问题
mysql查询出只选修两门课程的学生学号和姓名(排除选修课程无成绩)
为了查询只选修两门课程的学生学号和姓名,我们需要使用多个表连接和聚合函数。以下是查询语句:
```sql
SELECT s.学号, s.姓名
FROM 学生表 s
JOIN 选课表 c ON s.学号 = c.学号
JOIN (SELECT 学号, COUNT(*) AS cnt FROM 选课表 WHERE 成绩 IS NOT NULL GROUP BY 学号 HAVING cnt = 2) t ON s.学号 = t.学号
WHERE c.成绩 IS NOT NULL;
```
这个查询语句中,我们首先连接了学生表和选课表,然后使用子查询和聚合函数找到只选修了两门课程的学生学号,最后再通过WHERE子句排除选修课程无成绩的情况。请注意,这个查询语句假设学生表的主键是学号,选课表的外键是学号。
用MYSQL语言查询选修了 2 门课程的学生学号
SELECT student_id
FROM course_selection
WHERE course_id IN ('course1', 'course2')
GROUP BY student_id
HAVING COUNT(DISTINCT course_id) = 2;
注:'course1' 和 'course2' 为两门课程的课程编号,可以根据实际情况进行替换。
阅读全文