Это называется целочисленным делением: поскольку числитель и знаменатель являются целочисленными значениями, Postgres дает целочисленный результат.
Чтобы избежать этого, вы можете сделать:
case when (count(status_id) filter (where status_id = 2)) = 0
then 0 else
100.0 * count(status_id) filter (where status_id = 2) / count(status_id)
end as conversion_rate