Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erhalten der Differenz zwischen den Zählungen von zwei Unterabfragen

Sie können dies mit

tun
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 

Beachten Sie, dass der bessere Ansatz darin besteht, +1 oder -1 in der Abstimmung zu speichern, dann können Sie einfach Folgendes tun:

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

Übrigens, wenn Ihnen meine Formatierung seltsam vorkommt, habe ich sie in http erklärt://bentilly.blogspot.com/2011/02/sql-formatting-style.html .