2017-04-13 23 views
0

需要得到內部連接等級的最大值的幫助。如何用3個內連接獲得最大值?


代碼:

SELECT StudFirstName, StudLastName, sc.ClassID, sub.SubjectID, sub.CategoryID, Grade 
FROM SS_Students as st INNER JOIN SS_Student_Schedules as ss 
ON st.StudentID = ss.StudentID 
INNER JOIN SS_Classes as sc 
ON ss.ClassID = sc.ClassID 
INNER JOIN SS_Subjects as sub 
ON sc.SubjectID = sub.SubjectID; 

只需要獲得甲級最高值,因此產量將下降縮短1行。

+0

您可以使用'SELECT MAX(年級)FROM ...' –

+1

@Nish Patel您只想要最大值,或者您想要完整的詳細信息,哪個學生獲得最高等級和主題詳細信息? –

+0

ORDER BY grade DESC LIMIT 1;否則,請參閱https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql - 查詢 – Strawberry

回答

0

你應該使用group by和max喜歡:

SELECT StudFirstName, StudLastName, sc.ClassID, sub.SubjectID, sub.CategoryID, MAX(Grade) 
FROM SS_Students as st INNER JOIN SS_Student_Schedules as ss 
    ON st.StudentID = ss.StudentID 
INNER JOIN SS_Classes as sc 
    ON ss.ClassID = sc.ClassID 
INNER JOIN SS_Subjects as sub 
    ON sc.SubjectID = sub.SubjectID 
GROUP BY StudFirstName, StudLastName, sc.ClassID, sub.SubjectID, sub.CategoryID 

這會給你的學生名單和最大等級爲每個學生。