Home > Blockchain >  Show All Duplicate Records QUERY
Show All Duplicate Records QUERY

Time:01-10

What is the query that will show all the records that have multiple names?

For example.

Table 1:

| ID | Name    | Age   | Email           |
 ---- --------- ------- ----------------- 
| 1  | Mike    | 12    | [email protected]  |
| 2  | Mon     | 10    | [email protected]   |
| 3  | Peter   | 12    | [email protected]   |
| 4  | Mike    | 13    | [email protected]|

Desired result:

| ID | Name    | Age   | Email           |
 ---- --------- ------- ----------------- 
| 1  | Mike    | 12    | [email protected]  |
| 4  | Mike    | 13    | [email protected]|

CodePudding user response:

One option, using COUNT() as an analytic function:

WITH cte AS (
    SELECT t.*, COUNT(*) OVER (PARTITION BY Name) cnt
    FROM yourTable t
)

SELECT ID, Name, Age, Email
FROM cte
WHERE cnt > 1;

CodePudding user response:

You can use GROUP BY and join result to origin table

SELECT t1.*
FROM myTable t1

JOIN

  (SELECT Name
   FROM myTable
   GROUP BY Name
   HAVING COUNT(Name) > 1) t2

ON t1.Name = t2.Name
  •  Tags:  
  • Related