Cela peut être accompli avec une clause HAVING :
SELECT e.*, rt.review_id, (SUM(vt.percent) / COUNT(vt.percent)) AS rating
FROM catalog_product_entity AS e
INNER JOIN rating_option_vote AS vt ON e.review_id = vt.review_id
GROUP BY vt.review_id
HAVING (SUM(vt.percent) / COUNT(vt.percent)) >= 0
ORDER BY (SUM(vt.percent) / COUNT(vt.percent)) ASC
Remarque :Ajout de l'emplacement de ORDER BY
déclaration
L'optimiseur de requête ne doit pas non plus calculer la moyenne plusieurs fois, donc cela ne devrait pas être un problème ici.
Comme mentionné dans la réponse de @ jagra, vous devriez pouvoir utiliser AVG()
au lieu de SUM() / COUNT()