sql >> Database >  >> RDS >> PostgreSQL

Hoe mediaanwaarde extraheren?

Ik denk dat de eenvoudigste methode is PERCENTILE_CONT() of 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;

Dit veronderstelt (redelijkerwijs) dat score is numeriek.

Het verschil tussen PERCENTILE_CONT() en PERCENTILE_DISC() is wat er gebeurt als er een even aantal waarden is. Dat is meestal een onbelangrijke overweging, tenzij je een kleine hoeveelheid gegevens hebt.



  1. Sla php datetime op in mysql-database

  2. selecteer alle kolommen die niet in een andere tabel staan ​​laravel 5.5

  3. MySQL 5.7:converteer eenvoudige JSON_ARRAY naar rijen

  4. Hoe configureer ik een aangepaste MySQL NHibernate Batcher?