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