sql >> Databasteknik >  >> RDS >> Mysql

Hur kombinerar man två räkningsfrågor till deras förhållande?

Att sätta detta svar eftersom inget erbjudits hittills är korrekt

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

Om du också behöver de individuella räkningarna

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

Obs! MySQL har inget problem med dividera med noll. Den returnerar NULL när Rejected är 0.



  1. ODBC-fråga på MS SQL Server returnerar endast de första 255 tecknen i PHP PDO (FreeTDS)

  2. mysqli och mysql infoga i databaskommandon

  3. Hur ställer man in tidszonsregionen för JDBC Connection och undviker att SqlException-tidszonsregionen inte hittas?

  4. STRING_SPLIT() i SQL Server 2016:Uppföljning #2