[SQL] 如何取出分組後各組最高分與相關資訊

看板Database (資料庫)作者 (baby)時間4年前 (2020/05/10 09:31), 編輯推噓0(001)
留言1則, 1人參與, 4年前最新討論串1/1
資料庫名稱:Microsoft Access 資料庫版本:Access 2016 內容/問題描述: 各位大神好: 我們現在已經用Access建立好一個資料庫, 資料庫檔案連結: https://reurl.cc/rx3Vpx 表格也都是已經正規化完畢的, 各個表關係如圖: https://imgur.com/XxIsa00
我們現在想要用student這張表的degree+major作為分組 major是科系名稱縮寫 degree是大學/研究所/博士生 我們想取出各組的最高分, 例如ACC科系的博士生會有最高分 ACC科系的碩士生也會有最高分 輸出的資料想要包含degree, major, studentID, StudentFirstName, StudentLastName這些資料, 如果同一組有不只一位最高分, 就全部都擷取出來。 苦思很久也只寫得出 SELECT DISTINCT g.StudentID, s.Degree, s.Major, s.StudentFirstName, s.StudentLastName, g.GPA FROM student s, (SELECT DISTINCT e.StudentID, t.GPA FROM enrollment e INNER JOIN Transcript t ON e.TranscriptID = t.TranscriptID) g WHERE g.StudentID = s.StudentID ORDER BY s.Degree, s.Major, g.GPA DESC; 現在的結果會把所有學生按照Degree, Major分類並按GPA高低排序, 但是全部的學生都跑出來了,而我們只想要各組第一名啊~ 想要進一步用group by分組也行不通, (syntax error) 不知道大家有什麼好建議~ 感激不盡 ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 142.255.98.214 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1589074279.A.8EC.html

05/10 21:26, 4年前 , 1F
已解決了謝謝
05/10 21:26, 1F
文章代碼(AID): #1UjrbdZi (Database)
文章代碼(AID): #1UjrbdZi (Database)