Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да комбинирам две заявки за броене към тяхното съотношение?

Поставянето на този отговор, тъй като никой не е предлаган досега, е правилно

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

Ако имате нужда и от индивидуалните преброявания

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

Забележка:MySQL няма проблем с деленето на нула. Връща NULL, когато Rejected е 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. Python, MySQL и SELECT извеждат в речник с имена на колони за ключове

  2. Идентификатор на ресурс #4 PHP MYSQL

  3. Как да проверя за дублиращи се стойности на колони в таблицата, преди да ги вмъкна с Perl?

  4. Клас на сигурност в Codeigniter

  5. алтернатива на mysql_field_name в mysqli