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

Hvordan udtrækker man medianværdi?

Jeg tror, ​​den enkleste metode er PERCENTILE_CONT() eller 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;

Dette forudsætter (med rimelighed) at score er numerisk.

Forskellen mellem PERCENTILE_CONT() og PERCENTILE_DISC() er, hvad der sker, når der er et lige antal værdier. Det er normalt en uvigtig overvejelse, medmindre du har en lille mængde data.



  1. Store accessor problem:Kan ikke læse gamle allerede lagrede json objekt serialiserede (hash) værdier i mysql database i Rails 4

  2. Hvordan slår jeg autocommit fra for en MySQL-klient?

  3. Er dette en rimelig use case til at gemme JSON i MySQL?

  4. Send data til databasen, når du klikker på et link uden sideopdatering