sql >> Database >  >> RDS >> Mysql

Hoe combineer je twee tellingsquery's met hun verhouding?

Het plaatsen van dit antwoord, aangezien er tot nu toe geen is aangeboden, is correct

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

Als u ook de individuele tellingen nodig heeft

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

Opmerking:MySQL heeft geen probleem met delen door nul. Het geeft NULL terug als Rejected 0 is.



  1. specifieke mysql-update op basis van groeperen op gegevens

  2. C# -- Gegevens ophalen uit MySQL en ze bestellen op pagina's zonder DataGridView

  3. mysql - rij bijwerken op basis van andere rijen

  4. Hoe u alle beperkingen van CHECK &Foreign Key voor een tabel in SQL Server uitschakelt (T-SQL-voorbeelden)