hql查询课程最高成绩
① SQL查询每课成绩最高的学生的信息
大概思来路是找出单科自最高成绩,再跟成绩表关联找出学生。
假设成绩表有字段科目ID、学生ID、学生成绩三个字段
大概以下SQL,可以参考下:
select 科目ID、学生ID、学生成绩 b.最高成绩 from 成绩表 a
left join
(select 科目ID,max(学生成绩) as 最高成绩 from 成绩表 group by 科目ID) b
on (a.科目ID=b.科目ID and a.学生成绩=b.最高成绩)
where b.最高成绩 is not null;
② 在数据库查询中查询各门课程取得最高成绩的学生姓名和成绩
select
t.sno,sname,avg(grade)
as
平均分,count(cname)
as
选课门数
from
student
t,sc
c,course
e
where
t.sno=c.sno
and
c.cno=e.cno
and
t.sno=
(select
top
1
t1.sno
from
student
t1,sc
c1,course
e1
where
t1.sno=c1.sno
and
c1.cno=e1.cno
and
e1.cname='数据结构'
order
by
c1.grade
desc)
group
by
t.sno,sname
1.
先用子查询
查出课程最高分的同学的学号版
2.
再根据学号得到平权均分agv和选课门数
count
③ SQL查询求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分
你好,你展示的第一种sql查询方案,其意思是:
先根据score表中的sno分组求每个sno的最高分数。这求得的当然是每个同学的最高分啦,但是只是获得了最高分,没有指定是谁的最高分,导致在前面的【SELECT SNAME ,CNO,GRADE FROM Score Y,StudentWHERE (STUDENT.SNO=Y.SNO)】查询结果集中的后面检索条件【AND Y.GRANDE IN (所有人的最高分集合)】,这样系统就会查询分数在“所有人的最高分”里的结果集了。
而第二种方案,除了限定分数范围(最高分),还限定了学生的编号(
SELECTMAX(GRADE)FROMSCOREWHERE
SNO=Y.SNO
GROUPBYSNO,sno=y.sno就是限定学生的编号。
),所以结果自然不同了。
根据你的要求,我给你提供一种查询方式。其实原理是一样的哦。
selectstu.sname,scr.cno,scr.gradefromstudentstu
leftjoinscorescronscr.sno=stu.sno
whereexists(select1from(selects.sno,max(s.grade)asmgfromscoresgroupbys.sno)twheret.sno=stu.sno
andt.mg=scr.grade)
希望能帮助你。
④ SQL查询每门课程最高分学生的学号,课程号,成绩
select t1.学号,t1.课程号,t1.成绩专属
from table t1
where t1.成绩 = (
select max(t2.成绩)
from table t2
where t2.课程号 = t1.课程号
group by t2.课程号
)
⑤ 用SQL查询每个学生的所选课程的最高成绩 要求列出学号,姓名,课程编号,分数 已经得到如下结果 多谢咯
用了聚合函数就复需要对其(group by )分组制
select STUDENT.学号,姓名,课程名称,max(分数)
FROM GRADE JOIN STUDENT ON GRADE.学号=STUDENT.学号 JOIN CURRICULUM ON GRADE.课程编号=CURRICULUM.课程编号 group by STUDENT.学号,姓名,课程名称
⑥ 请问SQL 查询出成绩最高分
请问SQL 查询出成绩最高分
select 姓名,课程名,成绩 from tablename where 成绩=(select max(成绩) from tablename)
⑦ sql,查询每门课程最高分的学生的学号,课程号,成绩。再一张表里
select 学号, 课程号 , 成绩 from 表A ( select 课程号版 ,max(成绩权) AS mCJ from 表A group by 课程号) B where 表A课程号=B.课程号 AND 表A.成绩 =B.mCJ
⑧ SQL中在统计每门课程的平均成绩、最高成绩和最低成绩
SQL中在统计每门课程的平均成绩、最高成绩和最低成绩
select b.课程名,avg(a.分数内) as 平均成绩,max(a.分数) as 最高成绩,min(a.分数) as 最低容成绩
from 成绩表 a,课程表 b
where a.课程号=b.课程号
group by b.课程名
⑨ 用SQL查询每个学生的所选课程的最高成绩 要求列出学号,姓名,课程编号,分数
select s.st_id,st_name,c_no,score,max(score)
from st_info s join s_c_info sc
on s.st_id=sc.st_id
group by st_id,st_name,c_no group by s.st_id,sc.st_name,sc.c_no这句
⑩ 用sql查询出课程总分数最高的学生姓名
select top 1 Name
from 成绩表
group by Name
order by sum(fengshu) desc