SELECT user.*
FROM user
join
(
SELECT name, profession, city
FROM user
GROUP BY name, profession, city
HAVING COUNT(*) > 1
) as groupped on
groupped.name = user.name and COALESCE(groupped.profession = user.profession, 1) and COALESCE(groupped.city = user.city, 1)
ORDER BY name;