SELECT UserID, arrayEnumerateUniq(groupArray(SearchPhrase)) AS arr
FROM 
(
    SELECT UserID, SearchPhrase
    FROM test.hits
    WHERE CounterID = 1704509 AND UserID IN
    (
        SELECT UserID
        FROM test.hits
        WHERE notEmpty(SearchPhrase) AND CounterID = 1704509
        GROUP BY UserID
        HAVING count() > 1
    )
    ORDER BY UserID, WatchID
)
WHERE notEmpty(SearchPhrase)
GROUP BY UserID
HAVING length(arr) > 1
ORDER BY UserID
LIMIT 20
