mysql查询各门课程名称、平均分,仅查看平均分高于70的语句
时间: 2023-09-28 20:05:40 浏览: 123
好的,您可以使用如下的 SQL 语句来查询各门课程名称、平均分,仅查看平均分高于70的记录:
```
SELECT course_name, AVG(score) AS avg_score
FROM score
GROUP BY course_name
HAVING AVG(score) > 70;
```
这里假设您要查询的数据在名为 `score` 的表中,每条记录包含学生的学号、课程名称、分数等信息。该查询语句首先按照课程名称分组,然后计算每个分组的平均分,最后仅返回平均分高于70的记录。
注意,这里使用的是 `HAVING` 关键字来筛选记录,而不是 `WHERE` 关键字。因为 `HAVING` 关键字用于对分组后的数据进行筛选,而 `WHERE` 关键字用于对原始数据进行筛选。
相关问题
用mysql的exists查询各门课分数都高于课程平均分的学生信息。
好的,我可以回答这个问题。以下是该查询语句:
SELECT student_id, COUNT(score) AS num_courses
FROM scores
WHERE score > (SELECT AVG(score) FROM scores WHERE course = '课程名称')
GROUP BY student_id
HAVING num_courses = (SELECT COUNT(DISTINCT course) FROM scores);
其中,'课程名称'需要替换为查询的具体课程名称。这条语句将返回所有各门课分数都高于课程平均分的学生信息。
阅读全文