sql >> Database >  >> RDS >> PostgreSQL

Django &Postgres - percentiel (mediaan) en groeperen op

U kunt een Median . maken onderliggende klasse van de Aggregate klasse zoals gedaan door Ryan Murphy (https://gist.github.com/rdmurphy/3f73c7b1826cacee34b6c2a855 een> ). Median werkt dan net als 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)'

Om vervolgens de mediaan van een veld te vinden, gebruik

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

die dan beschikbaar is als my_model_aggregate['period__median'] .



  1. Meerdere rijen in tabel invoegen - fout ORA-00933:SQL-opdracht niet correct beëindigd

  2. Problemen met ORA-02049 oplossen en problemen in het algemeen vergrendelen met Oracle

  3. SQL Server:hoe een databasenaam als parameter in een opgeslagen procedure te krijgen?

  4. SQLAlchemy JSON als blob/tekst