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

sql uzyskaj całkowitą i przefiltrowaną liczbę w jednym zapytaniu

Możesz użyć Case .. When aby sprawdzić, czy points jest więcej niż 10 dla konkretnego wiersza i odpowiednio je policz (za pomocą Sum() ).

SELECT COUNT(*) as total, 
       SUM(CASE WHEN points > 10 THEN 1 ELSE 0 END) AS winners, 
       team 
FROM users 
GROUP BY team

W MySQL możemy go dalej skrócić jako Sum() funkcja może po prostu rzutować wyniki operatorów/funkcji warunkowych na 0/1 (odpowiednio dla fałszu/prawdy):

SELECT COUNT(*) as total, 
       SUM(points > 10) AS winners, 
       team 
FROM users 
GROUP BY team


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaktualizuj klucz podstawowy Django MySQL

  2. Sprawdź, czy wiersz istnieje, Laravel

  3. DataTables przy użyciu PHP z MySQL:Jak zmodyfikować zapytanie mysql?

  4. Wywołanie procedury składowanej , gdy nazwa procedury w zmiennej w mysql

  5. Przypisz wartość bazy danych MySQL do zmiennej PHP