當前位置:首頁 » 編程語言 » Sql每門學科最高分的姓名
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

Sql每門學科最高分的姓名

發布時間: 2022-11-03 21:49:18

sqlserver查詢各系各科成績最高分的學生的學號,姓名,系名,課程名稱,成績

請參考下列SQL語句:

selectstudent.sno,student.sname,student.sdept,
course.cname,t.maxgradefrom
student,course,
(selects.sno,c.sdept,s.cno,c.maxgrade
fromscs,studentst,
(selecta.sdept,b.cno,max(b.grade)asmaxgrade
fromstudenta,scbwherea.sno=b.sno
groupbya.sdept,b.cno)c
wheres.sno=st.snoandst.sdept=c.sdeptand
s.grade=c.maxgrade)twherestudent.sno=t.sno
andcourse.cno=t.cnoorderbycourse.cname,student.sdept;

上述語句已經測試通過。代碼思路是:

學生表與成績表基於學號進行連接獲取每個學號所在系名,然後用院系和課程號對成績表分組匯總,求得每個院系、每個課程的最高得分(結果集c,含系名、課程號和最高分)。然後用結果集C再次與成績表、學生表進行比對,篩選出獲得每個系、每個課程的最高分的學號並包含課程號和系名(結果集t)。最後t通過連接獲取學生表中的學生姓名、課程表中的課程名完成最後輸出。

⑵ sql語言將clsaa為二班每門成績最高的同學id和姓名以及學科和分數列印出來

假設有這么一個表
create table tables(
id int primary key,
class varchar(255),
name varchar(255),
courese varchar(255),
grade double(5,2)
);
#顯示x表的id,姓名,課程,成績,
select x.id,x.name as "姓名",
x.courese as "課程" ,x.grade as "成績"
#x表為tables表
from tables as x,
#查詢 按照課程查找成績的最大值,返回課程於成績給y表
(select courese, max(grade) as grade
from tables
where class like "二班"
group by courese) as y
#條件:x表的班級為二班,x表的課程要於y表的課程一樣,x表的成績要於y表的成績一樣
where x.class like "二班" and x.courese like (y.courese) and x.grade=y.grade;
#成績一樣的也會輸出

⑶ sql,查詢每門課程最高分的學生的學號,課程號,成績。再一張表裡

select 學號, 課程號 , 成績 from 表A ( select 課程號 ,max(成績) AS mCJ from 表A group by 課程號) B where 表A課程號=B.課程號 AND 表A.成績 =B.mCJ

⑷ sql求各科成績最高分

可以使用MAX函數:求最大值
SELECT 科目,MAX(分數)
FROM 表名
GROUP BY 科目

⑸ 如用使用sql語言列出每門課最高分的學生的信息

select 學生.學號, 學生.姓名, max(選課.成績)over(partition by 選課.課程編碼) as '最高成績' , 選課.課程編碼 ,課程.課程名稱
from 學生,選課,課程
where 學生.學號=選課.學號 and 選課.課程編碼=課程.課程編碼

這樣就可以把每門課程最高成績的學生信息查詢出來
可以在select 後面多加一列想要的學生信息

⑹ 查詢每門課成績最高分的同學的sql語句,輸出課程名,姓名,學號,分數。表的結構如下。寫出完整的sql語句

SELECT cname,sname,student.sno,grade
FROM student join sc on student.sno=sc.sno
join course on course.cno=sc.cno
where grade=(select max(grade)
from sc
where cno=course.cno )

⑺ SQL求各科成績最高分,顯示最高成績的姓名及成績

selectSname,scorefromStudent,ScwhereStudent.Sno=Sc.Snoandscore=(selectMAX(score)fromScwhereSc.Sno=Student.Sno)
--或者
selectSname,scorefrom(
selectSname,score,row_number()over(partitionbySc.SnoorderbyscoreDesc)AsRkfromStudent,ScwhereStudent.Sno=Sc.Sno
)Swhererk=1

⑻ SQL查詢資料庫中最高分學生的信息, 怎麼寫

SELECT
TOP
1
學生信息表.學號
學生信息表.學生姓名
學生信息表.性別
學生成績表.科目編號
學生成績表.成績
FROM
學生信息表
INNER
JOIN
學生成績表
ON
學生信息表.學號=學生成績表.學號

⑼ sql3表聯查,查詢每科的最高分同學的名字,該科名字,和該科分數

SELECT stuname,subname,score
FROM 學生表 join 分數表 on 學生表.stuid=分數表.stuid
join 科目表 K on K.subid=分數表.subid
where score=(select MAX(score) from 分數表 where subid=K.subid)