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

MySQL z InnoDB:Jak uniknąć używania COUNT?

Umieść swoje warunki w sum() . W ten sposób otrzymujesz pojedyncze liczby

SELECT SUM(sourceItem = 1 AND destinationItem = 1) AS count1,
       SUM(sourceItem = 1 AND destinationItem = 2) AS count2
FROM trades

Aby uzyskać pełną liczbę warunkową, wykonaj

SELECT SUM(case when sourceItem > 0 and destinationItem > 0 then 2
                when sourceItem > 0 or destinationItem > 0 then 1
                else 0 
           end) AS complete_sum
FROM trades

lub

SELECT SUM(sourceItem > 0) + sum(destinationItem > 0) AS complete_sum
FROM trades


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamicznie przypisuj alias do wszystkich nazw pól w zapytaniu msyql

  2. porównanie czasu mysql

  3. MySQL — wyjaśnienie kodowania i sortowania zestawu znaków bazy danych

  4. Ostrzeżenie:mysql_num_rows() oczekuje, że parametr 1 będzie zasobem, podanym obiektem

  5. Zapytanie MySQL - wymuś rozróżnianie wielkości liter za pomocą ORDER BY rand()