sql >> Databasteknik >  >> RDS >> PostgreSQL

hur man beräknar prevalens med sql-kod

I din aktuella fråga räknar du antalet rader i sjukdomstabellen, en gång med kolumnen condition_id, en gång med kolumnen person_id. Men antalet rader är detsamma - det är därför du får 1 som ett resultat.

Jag tror att du måste hitta antalet olika värden för dessa kolumner. Detta kan göras med hjälp av count distinct:

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


  1. konsekvenserna av att byta mysql-lagringsmotor medan applikationen körs i produktion

  2. Oracle Critical Patch Update – oktober 2020

  3. Kotändare OCH ELLER OCH

  4. SQL - Hur man undslipper parenteser i PostgreSQL