Listing the number of duplicated records on an Oracle table

CarlosScheidecker
CarlosScheidecker used Ask the Experts™
on
Hello,

I have a table with:

- Name
- Title
- endDate
- Description
- cdate

Name, Title and endDate are the primary key. If one of them is different, than a record is inserted.

However, since date is a timestamp, if I have it some seconds before or after a new record is created.

What I need to know is the duplicated records were Name and Title are exactly the same.

Something like this would only work when you need to deduplicate the values from one field.
I have 2 fields that needs to be exact.

SELECT     tablefield, COUNT(tablefield) AS dup_count
FROM         table
GROUP BY tablefield
HAVING     (COUNT(tablefield) > 1)

I need to diplay the following results per row/tuple :
- Name, Title and the number of occurences that they show if there are duplicates.

If I can determine that the count of Name.Titles being the same is greater than 1, then I have a duplicated record. How can I do that in Oracle?

Thanks.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®

Author

Commented:
Ah yes, I also have an autoincrement field (ID) that is different and unique for each record.
Most Valuable Expert 2012
Distinguished Expert 2018
Commented:
Select, name, title, mycount
From (
Select Name, Title, count(1) mycount from table
Group by name, title
)
Where mycount > 1;
Top Expert 2011

Commented:
- try this:

SELECT     name, title, COUNT(*) AS dup_count
FROM         table
GROUP BY name, title
HAVING     COUNT(*) > 1

Author

Commented:
Very, very elegant. Need to add that all the selected fields, but the count, must be on the group by clause.

Thanks!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial