2013-06-27 91 views
3

所以最後一個區分記錄,我有這個表:如何選擇SQL SERVER

| COD | | ID | |BALANCE| |   DATE   | 

20002978 34134987  2,1  2012-10-20 00:00:00.000 
20002978 34134987  2,1  2012-10-30 00:00:00.000 
20002978 34134987  10,1  2012-12-05 00:00:00.000 
20002978 34134987  8,1  2012-12-22 00:00:00.000 
20002978 34134987  9,1  2013-01-16 00:00:00.000 
20002978 34134987  23,1  2013-01-19 00:00:00.000 
20002978 34134987  7,1  2013-01-29 00:00:00.000 
20002978 34134987  3,1  2013-02-02 00:00:00.000 
80125573 34134987  13,1  2013-02-22 00:00:00.000 
80125573 34134987  1,0  2013-03-08 00:00:00.000 

我要選擇的最後一個代碼的最後平衡其中ID是我將傳遞給參數步驟。

我需要像這樣的結果:

ID = 34134987個

| COD | | ID | |BALANCE| |   DATE   | 
20002978 34134987  3,1  2013-02-02 00:00:00.000 
80125573 34134987  1,0  2013-03-08 00:00:00.000 

任何提示嗎?提前致謝。

回答

3

嘗試這樣.....

Select Cod,Id,Balance,[Date] from (
Select Row_Number() Over(Partition By Cod,Id Order By [Date] desc) as Row, Cod,Id,Balance,Date 
from table) t where t.Row=1 
+0

它的工作原理就像一個魅力!謝謝。你爲我節省了很多工作。 – erickalves05

+0

@ erickalves05您的熱烈歡迎 –