3

日付列から最新の日付と最後の日付を選択し、列ごとにグループ化する必要がありIDます。

特定のIDの最新の日付と最後の日付を取得できるようにします。

仮定する、

-----------------------------
ID          Date
-----------------------------
AA      5/5/2012
AA      6/5/2012
BB      19/5/2012
BB      20/5/2012
BB      18/5/2012
BB      17/5/2012
CC      8/5/2012
CC      19/5/2012
CC      20/5/2012

必要な出力

-----------------------------
ID          Date
-----------------------------
AA      6/5/2012
AA      5/5/2012
BB      20/5/2012
BB      19/5/2012
CC      20/5/2012
CC      19/5/2012
4

4 に答える 4

2

の簡単な使用ROW_NUMBER:

;WITH OrderedRows as (
    SELECT ID,Date,ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Date desc) rn
    from Table
)
select * from OrderedRows where rn <=2
于 2013-06-05T06:16:38.143 に答える
0

SQL Server 2005 / SQL Server 2008 のMSDN ソリューションを確認してください。

于 2013-06-05T08:49:39.987 に答える
0

もう1つのオプション

SELECT *
FROM Table5 t
WHERE t.Date IN(
                SELECT TOP 2 t2.Date
                FROM Table5 t2
                WHERE t.ID = t2.ID
                ORDER BY t2.Date DESC
                ) 
于 2013-06-05T08:24:32.057 に答える