2014-01-20 32 views
0
+--+-------+----------+---+ 
|ID|OrderID|OrderDate |Cat| 
+--+-------+----------+---+ 
|1 |240904 |23/05/2013|63 | 
+--+-------+----------+---+ 
|1 |338584 |11/12/2013|64 | 
+--+-------+----------+---+ 
|1 |47309 |21/11/2011|64 | 
+--+-------+----------+---+ 
|2 |175307 |23/11/2012|63 | 
+--+-------+----------+---+ 
+--+-------+----------+---+ 
|2 |195307 |24/12/2012|64 | 
+--+-------+----------+---+ 
+--+-------+----------+---+ 
|2 |175300 |23/11/2011|63 | 
+--+-------+----------+---+ 
+--+-------+----------+---+ 
|5 |175307 |23/11/2012|63 | 
+--+-------+----------+---+ 
+--+-------+----------+---+ 
|5 |215307 |15/1/2013|64 | 
+--+-------+----------+---+ 
+--+-------+----------+---+ 
|7 |195307 |15/06/2012|63 | 
+--+-------+----------+---+ 

我正在使用SQL Server 2008 R2。我試圖(掙扎)找到一種方法來獲得更多的最近的OrderDate對於Cat 64然後Cat 63對於相同的ID全部從表看起來那些記錄分開上面的|如何根據類別和日期排除相同ID的行

+0

感謝編輯米哈伊:) –

+0

你試過我的回答以下 –

回答

0

嘗試像這樣

Select OrderID,OrderDate From 
(
Select *,ROW_NUMBER() over(PARTITION by ID,CAT Order by OrderDate DESC) AS RN 
From tbl 
) AS Tmp 
Where RN = 1 

Working Fiddle

+0

感謝維涅什:)現在我想它。 –

+0

標記如果有幫助的話,它會很有用 –

+0

我收到了每個ID的Vagnesh的所有orderID列表。我需要得到的是一個orderid,它的orderdate大於cat 63上的任何orderdate。它有意義嗎? –

相關問題