Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL - WHERE Kondisi pada SUM()

Ini dapat dicapai dengan klausa 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

Catatan:Menambahkan tempat untuk meletakkan ORDER BY pernyataan

Pengoptimal kueri juga tidak boleh menghitung Rata-rata beberapa kali, sehingga tidak perlu menjadi perhatian di sini.

Seperti yang disebutkan dalam jawaban @ jagra, Anda seharusnya dapat menggunakan AVG() bukannya SUM() / COUNT()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengembalikan Output dari Python CGI MySQL Script

  2. Desain Tabel Entitas-Atribut-Nilai

  3. Perintah Pencadangan dan Pemulihan MySQL untuk Administrasi Basis Data

  4. Bagaimana cara menggabungkan dua pernyataan UPDATE dalam satu permintaan MySQL?

  5. Kueri SQL:Hapus semua catatan dari tabel kecuali N terbaru?