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

Jak połączyć dwa zapytania licznikowe do ich stosunku?

Umieszczanie tej odpowiedzi, ponieważ żadna z dotychczasowych ofert nie jest poprawna

select count(case when status = "accepted" then 1 end) /
       count(case when status = "rejected" then 1 end) as Ratio
from my_table
where status in ("accepted","rejected")

Jeśli potrzebujesz również indywidualnych liczeń

select count(case when status = "accepted" then 1 end) Accepted,
       count(case when status = "rejected" then 1 end) Rejected,
       count(case when status = "accepted" then 1 end) /
       count(case when status = "rejected" then 1 end) as Ratio
from my_table
where status in ("accepted","rejected")

Uwaga:MySQL nie ma problemu dzielenia przez zero. Zwraca NULL, gdy Odrzucono wynosi 0.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybieranie losowego wpisu z bazy danych MySQL

  2. Tablica pobierania MySQL dodaje zduplikowane wartości?

  3. Ping do serwera MySQL przy użyciu JDBC

  4. Jak dokładnie działają zapytania do bazy danych PHP/MySQL?

  5. Jak uzyskać kolejny rekord w zbiorze wyników mysql?