आप 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
नमूना आउटपुट : आशा है कि यह मदद करता है