2017-04-05 16 views
0

テーブルから重複行accountnoを削除しようとしています。SQL Server 2014:行のいくつかのフィールドの1つに基づいて重複レコードを削除します。

SELECT ACCOUNTNO, DateTime, RESULTCODE, REF 
FROM dbo.Most_Recent_Result 

私はDISTINCTを試しましたが、いくつかの行でREFが異なっています。

accountnoさんの重複を削除するにはどうすればよいですか? 2番目に一致するaccountnoレコードを削除したいだけです。あなたが口座番号ごとに1つの行をしたい場合は

+3

あなたの質問を編集して、サンプルデータと望ましい結果を提供してください。明らかに、3つの列のすべての値がまったく同じでない場合、つまり重複の定義が正しいとしたら、あなたの質問は意味をなさない。 –

答えて

0

row_number()を使用します。

SELECT ACCOUNTNO, DateTime, RESULTCODE, REF 
FROM (SELECT mrr.*, 
      row_number() over (partition by accountno order by datetime desc) as seqnum 
     FROM dbo.Most_Recent_Result 
    ) mrr 
WHERE seqnum = 1; 
+0

SQLビューを作成していて、「SQLをグリッドに表示できません」というメッセージが表示される – SRC

関連する問題