SQL> create table m( n number);
Table created.
1* insert into m values(&1)
SQL> /
Enter value for 1: 1
old 1: insert into m values(&1)
new 1: insert into m values(1)
1 row created.
SQL> /
Enter value for 1: 2
old 1: insert into m values(&1)
new 1: insert into m values(2)
1 row created.
SQL> /
Enter value for 1: 3
old 1: insert into m values(&1)
new 1: insert into m values(3)
1 row created.
SQL> /
Enter value for 1: 4
old 1: insert into m values(&1)
new 1: insert into m values(4)
1 row created.
SQL> /
Enter value for 1: 1
old 1: insert into m values(&1)
new 1: insert into m values(1)
1 row created.
SQL> /3
Enter value for 1: 3
old 1: insert into m values(&1)
new 1: insert into m values(3)
1 row created.
SQL> /
Enter value for 1: 4
old 1: insert into m values(&1)
new 1: insert into m values(4)
1 row created.
SQL> /
Enter value for 1: 1
old 1: insert into m values(&1)
new 1: insert into m values(1)
1 row created.
SQL> /
Enter value for 1: 3
old 1: insert into m values(&1)
new 1: insert into m values(3)
1 row created.
SQL> select * from m;
N
----------
1
2
3
4
1
3
4
1
3
9 rows selected.
SQL> commit;
Commit complete.
SQL> delete from m where rowid not in( select min(rowid) from m group by n);
5 rows deleted.
SQL> select * from m;
N
----------
1
2
3
4