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 .