CarlosScheidecker
asked on
Listing the number of duplicated records on an Oracle table
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.
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.
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
- try this:
SELECT name, title, COUNT(*) AS dup_count
FROM table
GROUP BY name, title
HAVING COUNT(*) > 1
SELECT name, title, COUNT(*) AS dup_count
FROM table
GROUP BY name, title
HAVING COUNT(*) > 1
ASKER
Very, very elegant. Need to add that all the selected fields, but the count, must be on the group by clause.
Thanks!
Thanks!
ASKER