我正在學習SQL,在我的大學裏,我正在練習這個練習並卡住了!我有一個數據庫,存儲學生爲特定教學而通過的所有考試。練習幫助 - 選擇平均得分最高的學生的註冊號
這些都在數據庫中的表:
Student(**number**, name, birthday)
Exam(**student_number**, **teaching_code**, vote) *(store the exams passed by the students with vote)*
Teaching(**code**, name)
凡號是學生表的主鍵和代碼是在學生教學,「student_number」引用「數字」和「teaching_code」在教學中引用「代碼」。
練習要求選擇平均得分最高的學生數字。
我知道如何編寫一個查詢,該查詢給了我一張包含每個學生平均數的表格,但我不知道如何從中選擇最高或者如何顯示相應的學生數字!
與limit命令的解決方案,如果存在一些學生具有相同的最高平均不工作...
顯示每個學生的平均成績查詢是:
select avg(e.vote) as Average from STUDENT s, EXAM e
where s.number = e.student_number
group by s.number
編輯: 我試過SQL中的MAX功能,我已經試過這樣:
select MAX(avg(e.vote)) as Average from STUDENT s, EXAM e
where s.number = e.student_number
group by s.number
但它說:「錯誤代碼:1111無效使用組功能的」
可能解決方案是嵌套查詢,但我無法實現它。
因爲這是作業,你應該發佈你已經嘗試過的東西。 – Taryn 2012-07-26 14:28:32