有两个表,学生表student 有sid(学号) name(姓名);成绩表score 有 sid(学号) course(科目) score(得分);
- 查出有多少不同的姓名,返回数字
select count(newnume) from (select distinct(name) newname from student);
解题思路:子查询
- 查出每个科目的最高分的人name和score
select max(score),name from (select * from score group by course) newscore inner join student on newscore.sid=student.sid;
解题思路:group by根据“By”指定的规则对数据进行分组,然后针对若干个“小区域”进行数据处理
参考文献
给定学生姓名,学科,成绩三个字段组成的一张表,查询各科成绩最高的学生_已知学生成绩表包含姓名,科目,成绩三个字段怎么写-CSDN博客
sql查询成绩表中每一科成绩最高的分数以及这个学生的名字,学科名_从score表中查询每个科目的最高分-CSDN博客