sql >> Database teknologi >  >> RDS >> Mysql

Hentning af forskel mellem antallet af to underforespørgsler

Du kan gøre det med

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 

Bemærk, at den bedre tilgang er at have +1 eller -1 gemt i afstemningen, så kan du bare gøre:

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

BTW hvis min formatering ser mærkelig ud for dig, forklarede jeg det i http://bentilly.blogspot.com/2011/02/sql-formatting-style.html .



  1. Unik begrænsning med betingelser i MYSQL

  2. Hvordan transformerer man vertikale data til horisontale data med SQL?

  3. Oracle SQL for at ændre kolonnetype fra nummer til varchar2, mens den indeholder data

  4. Sådan fjerner du Leading Whitespace i MySQL