1

次の値があるとします。

Reference      Class  Timestamp
XXHAG70        11     2013-05-07 14:29:59.820
XXHAG70        11     2013-05-07 14:33:19.780
XXHAG70        17     2013-05-07 14:30:19.930
XXHAG70        17     2013-05-07 14:33:44.690
PAF7010        06     2008-11-06 10:25:07.140
PAF7010        06     2009-02-27 12:56:11.420

各クラスには重複する値があるため、ペアになっています。各参照の各クラスの最も古いタイムスタンプだけを選択したい。

4

4 に答える 4

0

これにより、最も古い行を除くすべてが次のように削除されます(reference, class)

delete  from t1
from    (
        select  row_number() over (
                    partition by reference, class 
                    order by Timestamp desc) rn
        ,       *
        from    YourTable
        ) t1
where   t1.rn > 1

SQL Fiddle での実例。

于 2013-06-24T14:42:39.017 に答える
0

使用できますMIN

SELECT MIN(TimeStamp)
FROM YourTable
WHERE Class IN (SELECT DISTINCT Class From YourTable)
于 2013-06-24T14:36:28.690 に答える