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

Hvordan kombinerer man to tælleforespørgsler til deres forhold?

At sætte dette svar, da ingen tilbudt indtil videre, er 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")

Hvis du også har brug for de enkelte tæller

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

Bemærk:MySQL har ikke et divider med nul-problem. Det returnerer NULL, når Afvist er 0.



  1. ORA-00984:kolonne ikke tilladt her

  2. hvorfor pdo->lastInsertId() returnerer 0, når jeg kalder STORED PROCEDURE i mysql?

  3. Hvordan Sin() virker i PostgreSQL

  4. hvordan starter man en app med SQLite darabase på Android Studio emulator?