mysql 班级分组每个班级第一名同学
时间: 2023-10-14 17:14:30 浏览: 116
班级数据库
假设有一个名为 `students` 的表,其中包含学生的姓名、班级和成绩信息,可以使用以下 SQL 语句来查询每个班级的第一名同学:
```sql
SELECT class, MAX(score) as max_score, name
FROM students
GROUP BY class
HAVING score = MAX(score)
```
这将返回每个班级的最高分数和该分数的学生姓名。请注意,如果有多个学生在同一班级中具有相同的最高分数,则此查询将返回所有这些学生的名称。如果只需要一个学生的名称,则可以使用子查询来选择其中一个学生。例如:
```sql
SELECT class, max_score, (
SELECT name
FROM students
WHERE class = s.class AND score = s.max_score
LIMIT 1
) as top_student
FROM (
SELECT class, MAX(score) as max_score
FROM students
GROUP BY class
) s
```
这将返回每个班级的最高分数和该分数的一个学生姓名。
阅读全文