Reputation: 580
I have a table(user_admin_password). I am using this query to get the records.
SELECT user_key,admin_status,count(*)
FROM user_admin_status
GROUP BY
user_key,admin_status having count(*) > 1
ORDER BY user_key,admin_status;
The result is:
+----------+--------------+----------+
| user_key | admin_status | count(*) |
+----------+--------------+----------+
| 1 | NON-DBA | 5 |
| 3 | DBA | 328 |
| 5 | NON-DBA | 8 |
| 6 | NON-DBA | 25 |
| 7 | NON-DBA | 4 |
| 9 | DBA | 232 |
| 10 | NON-DBA | 4 |
| 11 | DBA | 4 |
| 13 | NON-DBA | 8 |
| 15 | NON-DBA | 2 |
| 16 | DBA | 326 |
| 16 | NON-DBA | 2 |
| 17 | NON-DBA | 10 |
| 18 | NON-DBA | 5 |
| 19 | NON-DBA | 12 |
| 20 | NON-DBA | 2 |
| 21 | NON-DBA | 2 |
...
...
Now, I want all the user_keys with duplicate record...for example 16
...any suggestions???
Upvotes: 0
Views: 115
Reputation: 247670
Just wrap it in another select:
select user_key, count(*)
from
(
select user_key,admin_status,count(*)
from user_admin_status
group by user_key,admin_status
having count(*) > 1
) x
group by user_key
having count(*) > 1
Upvotes: 3