mysql查询各班级中分数最⾼的学⽣信息
查询: 各年级中 分数最⾼的学习信息
⽰例表如下:
create table it_student(
id int primary key auto_increment, -- 主键id
name varchar(20), -- 姓名
gender enum('male','female'), -- 性别
class_id tinyint unsigned, -- 班级号
age int unsigned, -- 年龄
home varchar(40), -- 家乡
score tinyint unsigned -- 成绩
)
;
语句:select name,home,score from(select * from it_student order by score desc) as s group by class_id;
因为查询分组group by 的特性是分组 并取各组第⼀条查询到的数据信息(a和b是第⼀组,如果a排前⾯,那么就分组就拿a的那条信息,如果是b则拿b的信息),我们单纯进⾏分组能查到各分组的最⾼分,但是不⼀定能相应查询到对应的最⾼分的名称、年龄等信息。所以,先将全部数据进⾏降序排列,然后班级分组(group by class_id)确保mysql查询中各班的最⾼分那条记录是⾸先查到的(这点很重要)!groupby分组
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论