PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

wie man die prävalenz mit sql code berechnet

In Ihrer aktuellen Abfrage zählen Sie die Anzahl der Zeilen in der Krankheitstabelle, einmal mit der Spalte condition_id, einmal mit der Spalte person_id. Aber die Anzahl der Zeilen ist gleich - deshalb erhalten Sie als Ergebnis 1.

Ich denke, Sie müssen die Anzahl der verschiedenen Werte für diese Spalten finden. Dies kann mit Count Distinct:

erfolgen
select (COUNT(DISTINCT condition_id)/COUNT(DISTINCT person_id)) as prevalence
from disease
where condition_id=12345;