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

Django &Postgres - phân vị (trung vị) và nhóm theo

Bạn có thể tạo Median lớp con của Aggregate lớp do Ryan Murphy thực hiện ( https://gist.github.com/rdmurphy/3f73c7b1826cacee34f6c2a855 a> ). Median thì hoạt động giống như Avg :

    from django.db.models import Aggregate, FloatField


    class Median(Aggregate):
        function = 'PERCENTILE_CONT'
        name = 'median'
        output_field = FloatField()
        template = '%(function)s(0.5) WITHIN GROUP (ORDER BY %(expressions)s)'

Sau đó, để tìm giá trị trung bình của một trường sử dụng

    my_model_aggregate = MyModel.objects.all().aggregate(Median('period'))

sau đó có sẵn dưới dạng my_model_aggregate['period__median'] .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL- Lọc phạm vi ngày

  2. Cú pháp đúng cho mảng kiểu kết hợp

  3. Java Enums, JPA và Postgres enums - Làm cách nào để làm cho chúng hoạt động cùng nhau?

  4. Cách trích xuất số tuần từ một ngày trong PostgreSQL

  5. python management.py migrate không thực hiện bất kỳ thay đổi nào trong cơ sở dữ liệu postgres