如何用一条sql语句查询每门课程的成绩前利用sql语句查询某同学不学的课程的课

如何用一条sql语句查询每门课程的成绩前两名?
谢邀。大多数情况下情况一条sql搞不定,我会用两条,或者换一种方式。本案例可以在数据源添加辅助列,列出姓名产生的次数,再用sql抓取次数小于3??的数据。假设不方便在数据源中添加,就将全部数据抓取出来做成辅助表,再在姓名前加辅助列。
select * from (select 课程,学号,成绩,row_number() over(partition by 课程 order by 成绩 desc) as fid from 成绩表) t where fid =2
利用sql语句查询某考生不学的课程的课程号?
course 记录课程有关信息
course_id -课程ID(PK值)
course_num -课程号
student 记录学生有关信息
student_id -学生ID
student_name -学生姓名
course_id -学生选课课程ID
查询张三考生不学的课程的课程号
select course_num from course
where cousre_id not in (select course_id from student where student_name='张三' )
用SQL语言统计选修课人员数量在3人以上(含3人)的课程的课程号/课程名称和平均成绩?
课程表(课程号课程名称选修人成绩)select 课程号,课程名称,sum(成绩)/count(选修人)from 课程表group by 课程号,课程名称having count(选修人)=3
SQL查询每门课程的高分?
SQL查询每门课程高分-先得到一样学科的高成绩,再查询stud表,找到高成绩的记录
select course,sudResult,COUNT(course)stuCount from (
select * from stud a where sudResult=(select max(sudResult) from stud where course=a.course)
)b
group by course,sudResult
结果为:
原数据: