MySQL中求一个班级内男生和女生的平均分
时间: 2024-05-12 15:12:48 浏览: 129
假设有如下的表结构:
```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`。
阅读全文