使用學期系統的學術術語將一年分爲兩部分。SQL使用GROUP BY選擇最新行
我有以下從SQL查詢,術語,如上述的結果,有其值從1到2總是它也擁有學生(ID)的該特定術語比分:
ID | Year | Term | Career | Score
-----------------------------------
1 | 2015 | 2 | 70 | 3,25
1 | 2015 | 1 | 70 | 3,58
2 | 2015 | 1 | 71 | 4,05
2 | 2014 | 2 | 71 | 4,17
3 | 2012 | 2 | 70 | 3,88
3 | 2012 | 1 | 70 | 4,23
3 | 2011 | 2 | 70 | 4,78
我想返回爲每個學生的最新學期(一年期)的相應行,所以結果看起來像:
ID | Year | Term | Career | Score
-----------------------------------
1 | 2015 | 2 | 70 | 3,25
2 | 2015 | 1 | 71 | 4,05
3 | 2012 | 2 | 70 | 3,88
我正在使用GROUP BY子句與這些特點:
- 分組由「ID」
- 選擇MAX(年)
- 選擇MAX(期限)
的問題是,我需要的長期保存到相應的年份和MAX(Term)子句是導致錯誤的那個子句。例如,使用我現在拿到了查詢,結果是不正確的,因爲它會返回該行:
ID | Year | Term | Career | Score
-----------------------------------
2 | 2015 | 2 | 71 | 4,05
而是這一個(這是正確的)的:
ID | Year | Term | Career | Score
-----------------------------------
2 | 2015 | 1 | 71 | 4,05
哪有我保持(年期)之間的通信?
提示:2015-2大於2015-1,2014-1大於2013-2。
它的工作原理。非常感謝!通過使用這種方法,我可以實現我所需要的。 –