2017-03-17 2 views
0

テーブル内のキーに基づいて重複エントリをフィルタリング(ビューの作成)しようとしています。 私は社員に基づいて1つの重複レコードが、すべてをフィルタリングしたい一致するキーに基づいてSQLの重複行を1つだけ除外する

enter image description here

下記の表を考えてみましょう。どこのレコードが保持されているかは関係ありませんが、whereClauseを指定する仕組みがあればいいでしょう。ターゲットビューは、私はしかし、私はかなり右私の結果を得ることができないことで、パーティションに基づいてクエリを使用してみました。この

enter image description here

のように見えます。

これは可能ですか?最も簡単な方法はrow_number()使用して、事前

+0

それが重複する値を持っている場合、キーは表中の「ユニーク」ではありません。 –

+0

Woops、私の悪い私はテキストを修正します – NullPointer

答えて

1

ありがとう:

select t.* 
from (select t.*, 
      row_number() over (partition by employeeid order by employeeid) as seqnum 
     from t 
    ) t 
where seqnum = 1; 
+0

多くのありがとう!うまく動作します。マイナーな編集をしなければならなかった:それはパーティションの代わりにパーティションでなければならない。employeeid - 投稿を編集して答えを受け入れる – NullPointer