I'd suggest to write query as follow:
SELECT u.*, ROW_NUMBER() OVER(ORDER BY Email, UserID) AS RowNo
FROM [User] as u
This should produce a recordset with RowNumbers.
To delete duplicates, use this:
DELETE
FROM (
SELECT u.*, ROW_NUMBER() OVER(ORDER BY Email, UserID) AS RowNo
FROM [User] as u
) AS t1
WHERE t1.RowNo>1
Another way is to use:
DELETE
FROM (
SELECT u.*, ROW_NUMBER() OVER(PARTITION BY Email ORDER BY UserID) AS RowNo
FROM [User] as u
) AS t1
WHERE t1.RowNo>1