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