|
|
|
重複したレコードをDELETEする |
|
スポンサード リンク
サンプル表「emp」データ
|
SQL> select * from emp;
EMP DEP NAME SALARY
--- --- ---------- ----------
E01 D01 なまえ1 100
E02 D01 なまえ2 130
E03 D02 なまえ3 200
E04 D05 なまえ4 300
E05 D05 なまえ5 300 |
例1) 表「emp」の列「dept_id」が重複するレコードを削除する
|
SQL> delete from emp
2 where rowid not in (
3 select min( rowid ) from emp group by dept_id
4 );
2行が削除されました。
SQL> select * from emp;
EMP DEP NAME SALARY
--- --- ---------- ----------
E01 D01 なまえ1 100
E03 D02 なまえ3 200
E04 D05 なまえ4 300
SQL> |
※ min関数で指定してする項目はユニークになる必要があるので「rowid」を指定している。
スポンサード リンク
|
|
|
|
|