Just in case, when your table has duplicate rows in multiple or selected columns. Suppose you have a table structure as shown below:
id Name Technology
1 Abcd Hadoop
2 Efgh Java --> Duplicate
3 Ijkl Mainframe
2 Efgh Python --> Duplicate
Here are the id & Name columns having duplicate rows. You can use the analytic function to get a duplicate of the string:
select * from
(select Id,Name,Technology,
row_Number() over (partition By Id,Name order by id desc) as row_num
from yourtable)tab
where row_num > 1;
This will give you a conclusion like:
id Name Technology row_num
2 Efgh Python 2
When you need to get as duplicate rows:
select * from
(select Id,Name,Technology,
count(*) over (partition By Id,Name order by id desc) as duplicate_count
from yourtable)tab
where duplicate_count> 1;
Output as:
id Name Technology duplicate_count
2 Efgh Java 2
2 Efgh Python 2
source
share