Mysql
 sql >> Database >  >> RDS >> Mysql

Come combinare due query di conteggio al loro rapporto?

Mettere questa risposta poiché nessuna offerta finora è corretta

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")

Se ti servono anche i conteggi individuali

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")

Nota:MySQL non ha un problema di divisione per zero. Restituisce NULL quando Rifiutato è 0.