J'essaie d'exécuter la requête suivante pour fournir le% de lignes de ma patients
table qui ont une valeur dans la refinst
colonne. J'obtiens toujours un résultat de 0.
select (count (refinst) / (select count(*) from patients) * 100) as "Formula"
from patients;
Le tableau comporte 15556 lignes et select count(refinst) from patients
m'indique que 1446 d'entre elles ont une valeur dans la refinst
colonne. La réponse que j'aimerais obtenir de la requête serait 30,62 ( 1446/15556*100=30.62XXXXX
, arrondie à deux décimales).
Je suis presque sûr que cela a quelque chose à voir avec le type de données des résultats de comptage (entiers, je suppose). Si je divise un entier par un entier et que le résultat est inférieur à 0, il est tronqué à 0 correct? Si tel est le cas, quelqu'un peut-il me montrer comment convertir les résultats des décomptes en nombre avec 2 décimales afin que le résultat soit également arrondi à 2 décimales?
Je suis sûr qu'il existe une meilleure façon d'écrire ce code que plusieurs instructions de comptage. Je recherche un moyen plus efficace pour écrire cette requête en particulier.