mysql 查詢 各班級中分數最高的 學生資訊
阿新 • • 發佈:2019-01-11
查詢: 各年級中 分數最高的學習資訊
示例表如下:
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
因為查詢分組group by 的特性是分組 並取各組第一條查詢到的資料資訊(a和b是第一組,如果a排前面,那麼就分組就拿a的那條資訊,如果是b則拿b的資訊),我們單純進行分組能查到各分組的最高分,但是不一定能相應查詢到對應的最高分的名稱、年齡等資訊。所以,先將全部資料進行降序排列,然後班級分組(group by class_id)確保mysql查詢中各班的最高分那條記錄是首先查到的(這點很重要)!