2016-12-22 68 views
-5

舉例來說,我們有表格Student_Marks,其具有列Mark_ID(例如1,2,3,4,5)和Mark_Name(E,D,C,B,A),我們有一個學生與Student_Marks有關係。我們怎樣才能獲得A的人數最多的學生。謝謝!獲得A的最高數量的學生

+3

你嘗試過什麼嗎?這聽起來像是一個家庭作業問題,你應該嘗試學習自己。 –

回答

0

由於您沒有提供確切的表格結構和任何示例數據,因此這個答案將基於我能從您的問題中理解的內容。

比方說,Student表是這樣的:

Student_ID Student_Name Marks_ID 
    1   John Doe   1 
    1   John Doe   1 
    1   John Doe   2 
    1   John Doe   3 
    1   John Doe   4 
    1   John Doe   5 
    1   Jane Doe   1 
    1   Jane Doe   2 
    1   Jane Doe   2 
    1   Jane Doe   2 
    1   Jane Doe   4 

Student_Marks表是這樣的:

Marks_ID Mark_Name 
    1   A 
    2   B 
    3   C 
    4   D 
    5   E 

然後你可以用下面的查詢:

SELECT  TOP 1 students.Student_Name, 
      COUNT(marks.Mark_Name) AS TotalOfGradeA 
FROM  Student students 
INNER JOIN Student_Marks marks ON students.Marks_ID = marks.Marks_ID 
WHERE  marks.Mark_Name = 'A' 
GROUP BY students.Student_Name 
ORDER BY COUNT(marks.Mark_Name) DESC 

注意:你還沒有指定如何你喜歡e處理'關係',所以我寫了查詢來以任何特定的方式處理它。

這裏你可以看到這一點 - >http://rextester.com/SFVLA27100

希望這有助於!

+0

謝謝,它工作。 –