Mysql
 sql >> база данни >  >> RDS >> Mysql

Получаване на разлика между броя на две подзаявки

Можете да го направите с

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 

Имайте предвид, че по-добрият подход е да имате +1 или -1, съхранени в гласуването, тогава можете просто да направите:

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

BTW, ако моето форматиране ви изглежда странно, го обясних в http://bentilly.blogspot.com/2011/02/sql-formatting-style.html .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL търсене на множество стойности в едно и също поле

  2. Как да създадете база данни с множество наематели със споделени структури на таблици?

  3. Използване на заместител? в Go mySql заявка за нещо различно от int

  4. SQL грешка Не мога да разбера това

  5. mysql:изберете, вмъкнете, изтрийте и актуализирайте в една заявка