select mgr,count(*) from emp
group by mgr
having count(*) >1;
DELETE FROM your_table
WHERE rowid not in
(SELECT MIN(rowid)
FROM your_table
GROUP BY column1, column2, column3);
example-
select * from emp
where rowid not in (select min(rowid) from emp group by mgr);
group by mgr
having count(*) >1;
| MGR | COUNT(*) |
| 7839 | 3 |
| 7698 | 5 |
| 7566 | 2 |
DELETE FROM your_table
WHERE rowid not in
(SELECT MIN(rowid)
FROM your_table
GROUP BY column1, column2, column3);
example-
select * from emp
where rowid not in (select min(rowid) from emp group by mgr);
| EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO |
| 7844 | TURNER | SALESMAN | 7698 | 08-09-1981 | 1500 | 0 | 30 |
| 7900 | JAMES | CLERK | 7698 | 03-12-1981 | 950 | 30 | |
| 7654 | MARTIN | SALESMAN | 7698 | 28-09-1981 | 1250 | 1400 | 30 |
| 7698 | BLAKE | MANAGER | 7839 | 01-05-1981 | 2850 | 30 | |
| 7902 | FORD | ANALYST | 7566 | 03-12-1981 | 3000 | 20 | |
| 7521 | WARD | SALESMAN | 7698 | 22-02-1981 | 1250 | 500 | 30 |
| 7782 | CLARK | MANAGER | 7839 | 09-06-1981 | 2450 | 10 |
No comments:
Post a Comment