Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir la différence entre le nombre de deux sous-requêtes

Vous pouvez le faire avec

SELECT some_id
  , SUM(
      CASE
        WHEN vote = 'UP'
        THEN 1
        WHEN vote = 'DOWN'
        THEN -1
        ELSE 0
      END
    ) as vote_score
FROM votes
GROUP BY some_id 

Notez que la meilleure approche est d'avoir +1 ou -1 stocké dans vote, alors vous pouvez simplement faire :

SELECT some_id, SUM(vote) as vote_score
FROM votes
GROUP BY some_id

BTW si mon formatage vous semble étrange, je l'ai expliqué dans http ://bentilly.blogspot.com/2011/02/sql-formatting-style.html .