sql >> Databáze >  >> RDS >> PostgreSQL

Jak extrahovat střední hodnotu?

Myslím, že nejjednodušší metodou je PERCENTILE_CONT() nebo PERCENTILE_DISC() :

SELECT MIN(score) as min_score,
       PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY score) as median_score,
       MAX(score) max_score
FROM result r JOIN
     student s
     ON s.id = r.student_id;

To předpokládá (přiměřeně), že score je číselný.

Rozdíl mezi PERCENTILE_CONT() a PERCENTILE_DISC() je to, co se stane, když existuje sudý počet hodnot. To je obvykle nedůležité, pokud nemáte malé množství dat.



  1. Deklarování a nastavení proměnných v příkazu Select

  2. 5 způsobů, jak opravit chybu „Divide by zero“ v SQL Server (Msg 8134)

  3. Správa uživatelských účtů, role, oprávnění, autentizace PHP a MySQL

  4. PHP Jaká je výchozí znaková sada pro pdo mysql