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

SUM() tidak berfungsi di MySQL:SUM() dengan DISTINCT

Anda memasukkan DISTINCT DI sum( rating.rating) as total_rating, itulah mengapa hasilnya(12=17-5 ), karena hanya akan menyertakan 5 satu kali saat menghitung jumlah.

 select review.comments, review.user_id, count(distinct rating.id) as rating_count,
    sum( rating.rating) as total_rating from users 
    left join review on users.id = review.user_id and review.shop_id='1' 
    left join rating on users.id = rating.user_id and rating.shop_id='1' 
    where review.shop_id='1' or rating.shop_id='1' 
    group by users.id, review.user_id, rating.user_id, review.id

Ini SQLFiddle

Contoh Output : Semoga membantu



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tanya orang tua dan anak-anak di tabel referensi diri

  2. hanya data mysqldump

  3. Periksa apakah database sudah ada

  4. Kelemahan menyimpan integer sebagai string dalam database

  5. Pencadangan dan pemulihan MySQL dari baris perintah