mysql求出班级中每个人的最高分和最低分
时间: 2024-02-27 18:52:51 浏览: 39
可以使用以下 SQL 语句来实现求出班级中每个人的最高分和最低分:
```
SELECT student_name,
MAX(score) AS max_score,
MIN(score) AS min_score
FROM scores
GROUP BY student_name;
```
其中,`scores` 表是存储学生成绩的表,包含字段 `student_name` 和 `score`,分别表示学生姓名和成绩。以上 SQL 语句通过 `GROUP BY` 子句将成绩按学生姓名分组,并使用 `MAX` 和 `MIN` 聚合函数求出每个学生的最高分和最低分。
相关问题
MySQL中求一个班级内男生和女生的平均分
假设有如下的表结构:
```sql
CREATE TABLE `scores` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`gender` varchar(4) NOT NULL,
`class` varchar(20) NOT NULL,
`score` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
其中 `gender` 字段表示性别,取值为 `male` 或 `female`,`class` 字段表示班级。
则可以使用如下的 SQL 语句求出每个班级内男生和女生的平均分:
```sql
SELECT class, gender, AVG(score) AS avg_score
FROM scores
GROUP BY class, gender;
```
这条 SQL 语句会对 `scores` 表进行分组,分组的依据是 `class` 和 `gender` 字段的值。然后对每个分组内的 `score` 字段求平均值,使用 `AVG()` 函数实现。最后返回每个分组的 `class`、`gender` 和平均分 `avg_score`。
mysql 查询每门课程的最高分和最低分
可以使用以下 SQL 语句来查询每门课程的最高分和最低分:
```
SELECT course_name, MAX(score) AS max_score, MIN(score) AS min_score
FROM scores
GROUP BY course_name;
```
其中,`scores` 是包含了课程名和分数的表,包括以下列:`course_name` 和 `score`。`MAX()` 函数返回每门课程的最高分,`MIN()` 函数返回每门课程的最低分。`GROUP BY` 子句将结果按照课程名进行分组。