अपनी वर्तमान क्वेरी में आप एक बार कॉलम person_id का उपयोग करके, एक बार कॉलम condition_id का उपयोग करके, रोग तालिका में पंक्तियों की संख्या की गणना करते हैं। लेकिन पंक्तियों की संख्या समान है - यही कारण है कि आपको परिणाम के रूप में 1 मिलता है।
मुझे लगता है कि आपको इन स्तंभों के लिए विभिन्न मानों की संख्या ज्ञात करने की आवश्यकता है। यह काउंट डिफरेंट का उपयोग करके किया जा सकता है:
select (COUNT(DISTINCT condition_id)/COUNT(DISTINCT person_id)) as prevalence
from disease
where condition_id=12345;