这可以通过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_idHAVINg (SUM(vt.percent) / COUNT(vt.percent)) >= 0ORDER BY (SUM(vt.percent) / COUNT(vt.percent)) ASC
注意:添加了放置
ORDER BY语句的位置
查询优化器也不应该多次计算平均值,因此在这里不必担心。
正如@jagra的答案中提到的那样,您应该可以使用
AVG()而不是
SUM() / COUNT()



