how can I create an where in query that only check on field and ignore another fields?
You could always do an inner join if you are looking for cleaner syntax.  Something like this?  But I wouldn't worry about it too much as long as the query is legible and the performance difference should be negligible.  

SELECT U.*
FROM users AS U
    INNER JOIN (
                SELECT T.phone
                    , COUNT(T.id) AS c 
                FROM users AS T
                GROUP BY T.phone
                HAVING c &gt; 1
                ) AS PhoneCount ON PhoneCount.phone = U.phone
WHERE U.verified=true;