Mysql
 sql >> база данни >  >> RDS >> Mysql

SUM() не работи в MySQL:SUM() с DISTINCT

Поставяте DISTINCT IN sum( rating.rating) as total_rating, затова резултатът (12=17-5 ), тъй като ще включва 5 само веднъж при изчисляване на сумата.

 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

Ето SQLPiddle

Примерен изход: Надявам се това да помогне



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AngularJS | Как да изпратите данните на Json към базата данни в Codeigniter

  2. Показване на BLOB изображение Laravel 4

  3. Mysql count срещу mysql SELECT, кой е по-бърз?

  4. Урок за MySQL – Управление на регистрационни файлове на MySQL сървър:завъртане, компресиране, запазване и изтриване

  5. Незаконен микс от съпоставяне в mySQL