sql >> Database >  >> RDS >> Mysql

SUM() werkt niet in MySQL :SUM() met DISTINCT

Je plaatst DISTINCT IN sum( rating.rating) as total_rating, daarom is het resultaat(12=17-5 ), omdat het 5 slechts één keer zal bevatten tijdens het berekenen van de som.

 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

Hier is SQLFiddle

Voorbeelduitvoer: Ik hoop dat dit helpt



  1. mysqli - Moet ik echt $result->close(); &$mysqli->close();?

  2. Een gesplitste database versleutelen in Access 2016

  3. Mysql Codeigniter Active Record - Hoe voer ik een where_in-query uit en retourneer ik de juiste volgorde van resultaten?

  4. MySQL converteren tussen twee datumformaten