In je huidige zoekopdracht tel je het aantal rijen in de ziektetabel, een keer met behulp van de kolom condition_id, een keer met behulp van de kolom person_id. Maar het aantal rijen is hetzelfde - daarom krijg je er 1 als resultaat.
Ik denk dat je het aantal verschillende waarden voor deze kolommen moet vinden. Dit kan gedaan worden met count distinct:
select (COUNT(DISTINCT condition_id)/COUNT(DISTINCT person_id)) as prevalence
from disease
where condition_id=12345;