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;