Write an SQL Query to
Delete Duplicate records from a table using ROWID.
Answers were Sorted based on User's Feedback
Answer / rajesh
Delete from table_name where ROWID not in ( select
max(rowid) from table group by duplicate_values_field_name);
Regards
Rajesh...
If any queries..then fwd ...baburajeshd@gmail.com
| Is This Answer Correct ? | 91 Yes | 39 No |
Answer / veera
delete from tablename where rowid not in(select min(rowid)
from table name group by duplicate record col)
| Is This Answer Correct ? | 37 Yes | 21 No |
Answer / swati
DELETE FROM <table_name> T1
WHERE T1.ROWID > (SELECT MIN(T2.ROWID)
FROM <table_name> T2
WHERE T2.<common column name> = T1.<common
column name>)
----------------------------
DELETE FROM <table_name> T1
WHERE T1.ROWID < (SELECT MAX(T2.ROWID)
FROM <table_name> T2
WHERE T2.<common column name> = T1.<common
column name>)
| Is This Answer Correct ? | 19 Yes | 5 No |
Answer / arjun
delete from employ where rowid not in(select min(rowid) from
employ group by id,ename,age);
Arjun
| Is This Answer Correct ? | 17 Yes | 7 No |
Answer / amit bhatnagar
Swati is cool. buth her queries are correct. you can either
take rowid >with subquery fetching minimum (rowid) else
Rowid < with subquery fething maximum (row id)
DELETE FROM <table_name> T1
WHERE T1.ROWID > (SELECT MIN(T2.ROWID)
FROM <table_name> T2
WHERE T2.<common column name> = T1.<common
column name>)
----------------------------
DELETE FROM <table_name> T1
WHERE T1.ROWID < (SELECT MAX(T2.ROWID)
FROM <table_name> T2
WHERE T2.<common column name> = T1.<common
column name>)
Good job Swati.. :)
| Is This Answer Correct ? | 15 Yes | 6 No |
Answer / venki_discussions
delete from table (table name.a) where
rowid not in(select min(rowid) from (table name.b)
group by (column name);
| Is This Answer Correct ? | 8 Yes | 1 No |
Answer / koti
delete from emk tl
where tl.rowid >
( select min(tl2.rowID) from emk tl2
where tl.empno = tl2.empno
and tl.ename = tl2.ename)
Madhuapps,is alsow right...
| Is This Answer Correct ? | 16 Yes | 10 No |
Answer / samad
delete from emp a where rowid >(select min(rowid) from emp
b where a.rowid = b.rowid);
2. DELETE FROM EMP A
WHERE ROWID > ( SELECT min(ROWID) FROM EMP B WHERE
A.ROWID = B.ROWID)
cheers
samad
| Is This Answer Correct ? | 21 Yes | 18 No |
Answer / pnr kiran
DELETE FROM TABLE E
WHERE COLUMN_NAME IN ( SELECT COLUMN_NAME FROM TABLE D
WHERE D.COLUMN_NAME_1=E.COLUMN_NAME_1
MINUS
SELECT COLUMN_NAME FROM TABLE F
WHERE F.COLUMN_NAME_1 = E.COLUMN_NAME_1
AND ROWNUM = 1);
| Is This Answer Correct ? | 4 Yes | 1 No |
Answer / sushmitha
This link provides different methods of removing duplicate
rows from table
http://www.besttechtools.com/SQLArticles.aspx?
ID=DeleteDuplicate
| Is This Answer Correct ? | 4 Yes | 1 No |
In one flat file i got headers and lines data how you can write control file now ?
what is difference between d2k report and oracle apps report
10 Answers Seven Hills, Wipro,
In a table their 20 records.I had update 6 records???How can see and retrieve particular 6 records.i.e.,Latest updated.
10 Answers HCL, TCS,
How to register a form and stored procedure in oracle apps
What are the Major differences bteween key flexfields ,descriptive flexfields
4 Answers Sierra Atlantica, TechBulls,
Can we customize a form with out template.fmb
do i need to declare bind parameter before using in the query?
how to avoid duplicate data while uploading data from flatfile to staging table? some validations
where u do setup of operating unit?
Except the SRS window in which we can submit the concurrent program.
HOW CAN YOU KNOW UPDATE STMT IS WORKED OR NOT IN PL/SQL?
how can we return morethan one parameters in procedure?