Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để kết hợp hai truy vấn đếm với tỷ lệ của chúng?

Đặt câu trả lời này vì không có câu trả lời nào được cung cấp cho đến nay là chính xác

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

Nếu bạn cũng cần số lượng cá nhân

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

Lưu ý:MySQL không có vấn đề chia cho 0. Nó trả về NULL khi Bị từ chối là 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. Đồng bộ hóa cơ sở dữ liệu SQLite với dữ liệu mysql từ xa trong Android

  2. Không thể nâng cấp SonarQube từ 4.5.2 lên 5.0

  3. Rails có hỗ trợ kiểu dữ liệu json mysql không

  4. Biến đang nhận NULL sau khi tính toán trong MySQL Trigger

  5. Ràng buộc duy nhất, cách tránh trùng lặp