sql >> Database teknologi >  >> RDS >> PostgreSQL

hvordan man beregner prævalens ved hjælp af sql-kode

I din nuværende forespørgsel tæller du antallet af rækker i sygdomstabellen, én gang ved at bruge kolonnen condition_id, én gang ved at bruge kolonnen person_id. Men antallet af rækker er det samme - det er derfor, du får 1 som resultat.

Jeg tror, ​​du skal finde antallet af forskellige værdier for disse kolonner. Dette kan gøres ved at bruge count distinct:

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


  1. Brug af aliasnavn i en anden kolonne

  2. Sådan vælger du alt før/efter en bestemt karakter i MySQL – SUBSTRING_INDEX()

  3. SQL/Laravel - Hvorfor returnerer min forespørgsel en tom samling?

  4. AbstractMethodError på resultset.getObject