PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak wydobyć wartość mediany?

Myślę, że najprostszą metodą jest PERCENTILE_CONT() lub 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;

Zakłada się (rozsądnie), że score jest numeryczny.

Różnica między PERCENTILE_CONT() i PERCENTILE_DISC() tak się dzieje, gdy istnieje parzysta liczba wartości. Zwykle jest to nieistotna uwaga, chyba że masz niewielką ilość danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Railsy:rake db:create:all nie łączy się z bazą danych PostgreSQL

  2. Doctrine - Dodaj domyślny znacznik czasu do jednostki, takiej jak NOW()

  3. Czy istnieje skrót do SELECT * FROM?

  4. Wyszukiwanie pełnotekstowe w PostgreSQL i zamieszanie z trygramami

  5. java.lang.ClassNotFoundException:org.postgresql.Driver, Android