2016-12-10 10 views
-2

レコードのグループに最新のレコードを取得する:私は次のテーブル持って

enter image description here

をし、私は結果があること、IDのグループごとに日付ごとの最新のレコードが

手段のみを選択したいです行1と行3

どうすればいいですか?

+1

'SELECT * FROM(から*、(ROW_NUMBERを選択)RN).. DESCによって..orderによってパーティション(上..)Aここで、RN 1 '= –

+0

または、サブクエリと:'選択*からMyTable tここで、Date =(mytableからid = t.idのmytableから最大値を選択) ' –

+0

またはWITH TIESを選択します。*テーブルから順番にRow_Number()以上([Order] –

答えて

1

あなたのタイトルには「最新」が指定されていますが、1行目が指定されました MAXを必要に応じてMINに切り替えます。

;WITH cte 
     AS 
     (SELECT id,MAX([date]) AS [Date] FROM MyTable GROUP BY ID) 
    SELECT 
     A.* 
    FROM 
     MyTable A 
      INNER JOIN cte B 
       ON A.ID = B.ID 
       AND A.[Date] = B.[Date] 
       ; 
関連する問題