これは、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
注:ORDER BY
を配置する場所を追加しました ステートメント
クエリオプティマイザも平均を複数回計算しないようにする必要があるため、ここでは問題になりません。
@jagraの回答で述べたように、AVG()
を使用できるはずです。 SUM() / COUNT()
の代わりに