Moak
Moak

Reputation: 12885

Retrieving records fulfilling a condition using GROUP BY

I'd like to only select the rows where the count is greater than 1 (in other words the duplicates) right now from a few thousand records I am mostly seeing 1s with a few 2s and 3s here and there

SELECT count( * ) AS `Number` , GI . *
FROM `GeneralInformation` AS GI
GROUP BY `FirstName` , `Surname` 

how can I do this?

Upvotes: 9

Views: 8878

Answers (2)

Mike Tunnicliffe
Mike Tunnicliffe

Reputation: 10772

SELECT count( * ) AS `Number` , GI . *
FROM `GeneralInformation` AS GI
GROUP BY `FirstName` , `Surname` 
HAVING count(*)>1

Upvotes: 9

mopoke
mopoke

Reputation: 10685

Use the Having clause

SELECT count( * ) AS `Number` , GI . *
FROM `GeneralInformation` AS GI
GROUP BY `FirstName` , `Surname` 
HAVING count( * ) > 1

Upvotes: 7

Related Questions