PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm thế nào để trích xuất giá trị trung bình?

Tôi nghĩ rằng phương pháp đơn giản nhất là PERCENTILE_CONT() hoặc 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;

Điều này giả định (một cách hợp lý) rằng score là số.

Sự khác biệt giữa PERCENTILE_CONT()PERCENTILE_DISC() là những gì sẽ xảy ra khi có một số giá trị chẵn. Đó thường là một cân nhắc không quan trọng, trừ khi bạn có một lượng nhỏ dữ liệu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hiển thị giá trị rỗng khi chạy truy vấn trong psql (PostgreSQL)

  2. Chỉ mục GIN trên cột smallint [] không được sử dụng hoặc toán tử lỗi không phải là duy nhất

  3. Lỗi:EXDEV:không cho phép liên kết thiết bị chéo, đổi tên '/ tmp / trên Ubuntu 16.04 LTS

  4. Chia dữ liệu cột được phân tách bằng dấu phẩy thành các cột bổ sung

  5. Làm cách nào để nối các cột trong một Postgres SELECT?