Re: [SQL ] 找出每個科目最高成績的學生名及成績

看板Database作者 (Simple Life)時間4年前 (2019/10/21 10:56), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
select sno,cno,degree from (select sno,cno,degree, rank() over(partition by cno order by degree desc) rn from score ) where rn=1; ※ 引述《paranoia5201 (社會黑暗、行路難)》之銘言: : 資料庫名稱:無 : 資料庫版本:無 : 內容/問題描述:(這是一個考題) : 有一張成績表為score,其中有三個欄位:課程名稱cno,學生代號sno,修課成績degree。 : 如何取出各科目最高成績之學生代碼及修課成績? : 簡單的想法: : (select cno, sno, max(degree) from score group by cno) : 上述結果我不確定sno會是對應出最高分數的學生名嗎? : 另一個想法:(未完成) : select * from score order by cno, degree : 將成績表以科目與分數排列後,試圖捉出每個科目的最後一欄, : 但是就不知道怎麼選出每個科目的最後一欄了...... : 各科目依照成績排列後的最後一欄,很明顯就是最高成績的學生了。 : 兩個寫法不曉得是否正確操作,由於這是考題所以無法實作。 : 還請各位指導,感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.11.167 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1571626596.A.657.html
文章代碼(AID): #1ThHvaPN (Database)
討論串 (同標題文章)
文章代碼(AID): #1ThHvaPN (Database)