首页 > 解决方案 > sql - 查找该月的最大分数时如何按月分组?

问题描述

我有student_mark表,其中包含datemarkstudent_id列。我想找到所有学生每个月的最大(标记)。

我正在这样做:

select max(mark),exam_dt 
from student_mark  
where month(exam_dt) = 04 or month(exam_dt) = 05 or month(exam_dt) = 06 
group by exam_dt;

但我明白了。它是按单个日期而不是月份分组的。它应该显示一个月的最大分数。


输出

标签: mysqlsqlgroup-by

解决方案


只需将您的查询更改为SELECTGROUP BY月份,即

select max(mark), month(exam_dt)
from student_mark  
where month(exam_dt) = 04 or month(exam_dt) = 05 or month(exam_dt) = 06 
group by month(exam_dt);

推荐阅读