banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 18 February 2020 22:39

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Mediane sur Postgre

Bonjour à tous.

Sachant utiliser les différentes méthodes d'agrégats de Postgre, calculer la médiane reste toujours un mystère pour moi.

Admettons la table suivante :

Code:

create temporary table test as
select * from (values ('42-60', 12, 'male'),
                      ('42-60', 5, 'female'),
                      ('42-61', 3.59, 'male'),
                      ('42-61', 13.85, 'male'),
                      ('42-62', 2.96, 'female')) as t(path, cost, sex);

Comment puis-je trouver la médiane du champ "cost" des éléments male et female ?

Merci à vous.

Hors ligne

 

#2 Wed 19 February 2020 02:25

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 948
Site web

Re: Mediane sur Postgre

Bonsoir,

Il faut utiliser la fonction percentile_disc(0.5) (qui équivaut à prendre 50 centiles, ce qui est la définition de la médiane)

Code:

WITH demo AS (
    select * from (values ('42-60', 12, 'male'),
                      ('42-60', 5, 'female'),
                      ('42-61', 3.59, 'male'),
                      ('42-61', 13.85, 'male'),
                      ('42-62', 2.96, 'female')) as t(path, cost, sex)
)
SELECT percentile_disc(0.5) WITHIN GROUP (ORDER BY cost) FROM demo;

Cordialement

Thomas

Hors ligne

 

#3 Wed 19 February 2020 09:09

ppluvinet
Participant assidu
Lieu: VALENCE
Date d'inscription: 6 Aug 2007
Messages: 617

Re: Mediane sur Postgre

Et bien j'ai appris quelque chose ! J'étais encore dans l'idée de faire une fonction PL/R.


Pascal PLUVINET

Hors ligne

 

Pied de page des forums

Powered by FluxBB