sql >> Database >  >> RDS >> Mysql

Verschil krijgen tussen tellingen van twee subquery's

Je kunt het doen met

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 

Merk op dat de betere benadering is om +1 of -1 in de stemming te bewaren, dan kun je gewoon doen:

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

Trouwens, als mijn opmaak er vreemd uitziet, heb ik het uitgelegd in http://bentilly.blogspot.com/2011/02/sql-formatting-style.html .



  1. syntaxisfout krijgen bij het maken van een functie

  2. Oracle Update Query met behulp van Join

  3. Verschillende weergave van UUID in Java Hibernate en SQL Server

  4. Externe sleutelcontroles op de opdrachtregel uitschakelen