oracle duplicate rows based on a single column

duplicates, oracle11g, sql

Solution

SELECT  a.*
FROM    TableName a
        INNER JOIN
        (
            SELECT  EmpID
            FROM    TableName
            GROUP   BY EmpID
            HAVING  COUNT(*) > 1
        ) b ON a.EmpID = b.EmpID

- SQLFiddle Demo

Another way, although I prefer above, is to use `IN`

SELECT  a.*
FROM    TableName a
WHERE   EmpId IN
        (
            SELECT  EmpId
            FROM    TableName
            GROUP   BY EmpId
            HAVING  COUNT(*) > 1
        ) 

- SQLFiddle Demo

Problem

How can I find out duplicate rows based on a single column. I have a table in oracle which has data as given below and it has duplicates. I'm trying to select and view all rows with duplicate employee ids as explained below EMP table: ``` EmpId Fname Lname Mname Jobcode Status exp_date 1 Mike Jordan A IT W 12/2014 1 Mike Jordan A IT A 12/2014 2 Angela ruth C sales P 12/2015 2 Angela ruth C IT W 12/2015 3 Kelly Mike B sales W 12/2015 ``` From the above table i want to select all rows which duplicate empids such as below ``` EmpId Fname Lname Mname Jobcode Status exp_date 1 Mike Jordan A IT W 12/2014 1 Mike Jordan A IT A 12/2014 2 Angela ruth C sales P 12/2015 2 Angela ruth C IT W 12/2015 ``` How can I do this? thank you!

Original source