Esto se puede lograr con una cláusula 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
Nota:Se agregó dónde colocar ORDER BY
declaración
El optimizador de consultas tampoco debería calcular el Promedio varias veces, por lo que eso no debería ser una preocupación aquí.
Como se mencionó en la respuesta de @jagra, debería poder usar AVG()
en lugar de SUM() / COUNT()