Pas vraiment. La clause having implique une agrégation, ce qui signifie que vous n'avez plus les lignes d'origine.
Je pense que vous voulez ce qui suit :
DELETE from UserPredictions
where UserId in (select UserId from UserPredictions group by UserId having count(*) < 500)