q is the alias for the 2nd reference to person, so no comma.
Seems like it doesn't like EXISTS (subquery expression).
The following sequence of queries should dig out duplicates.
CREATE temp_ip (name varchar(50), ip varchar(16));
INSERT INTO temp_ip SELECT DISTINCT name, ip FROM person;
SELECT name , COUNT(*) as num_ip FROM temp_ip GROUP BY name HAVING num_ip > 1;
//process names here
DROP TABLE temp_ip;
hth