Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uzyskiwanie różnicy między liczbami dwóch podzapytań

Możesz to zrobić za pomocą

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 

Pamiętaj, że lepszym rozwiązaniem jest przechowywanie +1 lub -1 w głosowaniu, wtedy możesz po prostu zrobić:

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

BTW, jeśli moje formatowanie wygląda dziwnie, wyjaśniłem to w 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. Zapisz zapytanie mysql do pliku Excela ze strony php

  2. Jak utworzyć użytkownika z takimi samymi uprawnieniami jak root w MySQL/MariaDB?

  3. Zaktualizuj dane do tabeli z dynamicznie tworzonego pola wejściowego

  4. Jak wygenerować serię średnich godzinowych w MySQL?

  5. PDO były wierszami dotkniętymi podczas instrukcji execute