Ben patients
bir değer refinst
sütun benim tablonun satır% sağlamak için aşağıdaki sorguyu çalıştırmaya çalışıyorum . 0 sonucunu almaya devam ediyorum.
select (count (refinst) / (select count(*) from patients) * 100) as "Formula"
from patients;
Tabloda 15556 satır var ve bunların 1446'sının sütunda select count(refinst) from patients
bir değeri olduğunu söylüyor refinst
. Sorgudan almak istediğim yanıt 30.62 ( 1446/15556*100=30.62XXXXX
iki ondalık sayıya yuvarlanmış) olacaktır.
Sayım sonuçlarının veri türü ile ilgili bir şey olduğundan eminim (varsaydığım tamsayılar). Bir tamsayıyı bir tamsayıya bölersem ve sonuç 0'dan küçükse 0'a kesilir mi? Bu durumda, biri sayımların sonuçlarını 2 ondalık basamaklı bir sayı olarak nasıl atacağımı gösterebilir, böylece sonuç da 2 ondalık basamağa yuvarlanır?
Bu kodu yazmak için birden çok sayım deyiminden daha iyi bir yol olduğundan eminim. Özellikle bu sorguyu yazmak için daha işlemci verimli bir yol arıyorum.