Skip to main content

Oracle Database find duplicate records on certain column in a table.

This is a Beginner level article but can be referred readily by guys using Oracle Database moderately for a refernence.

You can identify the duplicate records in Oracle Table by using a group by clause. You need to group by column / columns from which you are trying to identify the duplicates , use count() function to identify the duplicates : expression is self exploratory having count () > 1 .


Ex 1 : Identify duplicates first names from employees table.
 Note in this context : Employee records is not necessarily duplicate we are only trying to find employees with same first name.


select empl_first_name  , count(empl_first_name)
from employees
group by empl_first_name 
having count(empl_first_name) > 1

Ex 2 : Identify duplicates or repeats based on 2 or more columns.

select empl_first_name  , empl_last_name  ,  count(empl_first_name)
from employees 
group by empl_first_name , empl_last_name
having count(1) > 1

Identify duplicate / repeats based on 2 or more columns.

Ex 3. Use of Analytic function to identify duplicates.

select * from 
(select count(1) over (partition by empl_first_name ) fname_count , e.*   
from employees e)
where fname_count > 1

Advantage in this example is you were able to select all columns in the query resultset unlike the pure group by queries above.

Ex 4. Delete duplicate rows : (Be careful and wary of what you are doing)

delete from     employees where rowid in
 (select rowid from 
   (select 
     rowid,
     row_number()
    over 
     (partition by empl_first_name order by empl_first_name) dup
    from employees)
  where dup > 1)

Comments

Popular posts from this blog

Use the Microsoft Visual Studio Code(VScode) with Java Maven project.

The VS Code is the go to editor now a days for the latest technologies and scripting options. VS Code as we all know works seamlessly with Python and JavaScripts, and offcourse the .NET family. But VS Code has many extensions which makes it big Java IDEs run for their money. Lets explore what we could do with VSCode if we are Java developer. Install VScode , no brainer. Jus type download Visual Studio code in google. Alrright once we have VSCode. Open it. Install Maven and Java extension. 2. Go to files and a small window will now appear on left side navigation bar. 3. Select New Maven project. 4. Select the archtype from dropdown. 5. As usual input the grpid, artifactid etc. 6. Done. Go through a video which has much detailed navigation flow. Till next time !!!

Introduction to Oracle Analytical functions , rank , denserank.

In this video we tried to demonstrate how oracle anaytical function works. How to do Top N query with oracle's rank and dense_rank function. Also explained is how outputs and functionality of rank and dense_rank differs , what should be used when. The demonstration video is from Linux Mint OS and I have used my own Query Light application. Hope you find it enlightening.   Here are some of the screen prints.  Use of Oracle Rank Analytical Function. Oracle Top N Query using rank analytical functions.