Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SUM () không hoạt động trong MySQL:SUM () với DISTINCT

Bạn đặt DISTINCT IN sum( rating.rating) as total_rating, đó là lý do tại sao kết quả ( 12 =17-5 ), vì nó sẽ chỉ bao gồm 5 một lần trong khi tính tổng.

 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

Đây là SQLFiddle

Đầu ra mẫu: Hy vọng điều này sẽ giúp ích



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL tổng hợp các hàm với LEFT JOIN

  2. Chọn từ bảng A không tồn tại trong bảng B

  3. Rails cài đặt mysql - Lỗi khi cài đặt mysql2:LỖI:Không thể tạo tiện ích mở rộng gốc đá quý

  4. Các kiểu dữ liệu MySQL:Biết những kiểu dữ liệu để sử dụng và cách thức

  5. SQL LIKE thực sự hoạt động như thế nào