Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

SUM () MySQL में काम नहीं कर रहा है:SUM () DISTINCT . के साथ

आप DISTINCT put डालते हैं कुल_रेटिंग के रूप में 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

यह रहा SQLFiddle

नमूना आउटपुट : आशा है कि यह मदद करता है



  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 जॉइन NULL फ़ील्ड लौटाता है

  2. mysql डेटाबेस में स्टोर करने से पहले टेक्स्ट को कंप्रेस करें

  3. MySQL तालिकाओं के बीच स्ट्रिंग/वर्कर को तिथि में कनवर्ट करें

  4. MySQL में लॉक किए बिना चयन करने का कोई तरीका?

  5. mysql/sql के साथ एक स्ट्रिंग को शफल करें