I can't disable duplicates from the very beginning. There are a few situations, such as a user signing up with fake email addresses before realizing that won't work, where they would need to create a second account with a legit address. However, they very rarely come back, so culling some of the duplicates after time (will be the first in 2 years) is fine.
SELECT signup_ip FROM Bob
INNER JOIN (SELECT signup_ip FROM Bob
GROUP BY signup_ip HAVING count(id) > 1) dup ON Bob.signup_ip = dup.signup_ip
Is this correct? I tried reading the links, but it's like reading the law. Everything is explained in a way for experienced coders to understand, but is not friendly for us total newbies.
The table has 588,000 rows, so it sounds like this may be an issue. Are there any alternative, less resource intensive methods? Edit: There are about 35000 unique signup_ip values.