sql >> Databáze >  >> RDS >> Mysql

SQL - WHERE podmínka na SUM()

Toho lze dosáhnout pomocí klauzule 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

Poznámka:Přidáno, kam umístit ORDER BY prohlášení

Optimalizátor dotazů by také neměl vypočítat průměr vícekrát, takže by to zde nemělo být problémem.

Jak bylo zmíněno v odpovědi @jagra, měli byste být schopni použít AVG() místo SUM() / COUNT()



  1. ORA-00604 ORA-12705

  2. Dynamické databázové tabulky v django

  3. Načíst názvy sloupců a typy uložené procedury?

  4. Omezit číslo stránky stránkování