我在追蹤學生測試結果的表格上執行查詢。測試由多個部分組成,並且每個部分的評分都有一列。每一行都是學生測試的一個實例。這些部分可以一次完成,也可以分成多次嘗試。例如,一名學生今天可以參加一節,其餘的則可以參加明天。此外,學生可以重新參加任何考試。按列分組,選擇最近的值
樣品學生:
StudentID WritingSection ReadingSection MathSection DateTaken 1 65 85 54 4/1/2013 14:53 1 98 NULL NULL 4/8/2013 13:13 1 NULL NULL 38 5/3/2013 12:43
甲NULL
意味着該部分未施用對於給定的測試例,和第二部分得分意味着切片奪回。
我想要一個由StudentID
組成的查詢,這樣每個學生只有一行,並且返回每個節的最近分數。我正在尋找一種有效的方法來解決這個問題,因爲我們在數據庫中有數十萬次的測試嘗試。
預期結果:
StudentID WritingSection ReadingSection MathSection DateTaken 1 98 85 38 5/3/2013 12:43
編輯: 已經有很多好的解決方案。在選擇答案之前,我想在下週再試一次。感謝大家!
最近的得分或最佳分數?例如,基於上述,我假設你想讓學生1,98,86,38 ??? – Sparky
最新的評分。我將編輯並放置預期結果。 –