Fonction médiane postgresql

Fonction médiane postgresql
La médiane calculatrice est obligée d'obtenir la valeur moyenne des données. Comme de nombreuses autres fonctions, PostgreSQL fournit un large éventail de polyvalence dans le traitement de la fonction médiane. Il concerne la recherche de la valeur médiane de la colonne du tableau sur laquelle la médiane est utilisée. Contrairement aux fonctions d'agrégats postgresql comptes, SUM, il n'y a pas de fonction spécifique utilisée pour calculer l'agrégat de la médiane. La médiane est une fonction définie par l'utilisateur.

Dans des fonctions arithmétiques simples, il existe différents moyens et formules pour trouver la médiane dans toutes les données fournies en texte brut ou sous la forme tabulaire. Alors que dans le cas des systèmes de base de données, nous utilisons d'autres fonctions intégrées combinées pour obtenir la valeur de la médiane. Cet article développera certaines des techniques les plus efficaces et également une fonction manuelle créée par nous pour récupérer la médiane à partir des données de PostgreSQL.

Utilisation de centile_count () et centile_disc ()

Ce sont tous les deux les moyens d'obtenir une médiane d'une manière légèrement différente. Parce que la différence dans leurs valeurs résultantes est basée sur leurs méthodologies. Le centile fait référence à la valeur des données avec un pourcentage de cent. Mais pour la médiane, nous utilisons (0.5) valeur. La principale différence entre les deux est que le centile_count () interpole la valeur et son travail est basé sur la distribution continue des valeurs, tandis que le centile_disc () renvoie la valeur des données données et repose sur le calcul du centile sur la distribution discrète.

La syntaxe pour ces deux centiles est:

Sélectionner le percetile_count (0.5) dans le groupe (ordre par x) à partir des valeurs (a), (b), (c), (d)) v (x);
Sélectionner le centile_disc (0.5) dans le groupe (ordre par x) à partir des valeurs (a), (b), (c), (d)) v (x);

Pour les valeurs données, centile_disc renverra les seules valeurs présentes dans les données. Centile_count calcule la médiane des valeurs. Par exemple entre les nombres pair. Dans l'exemple ci-dessus, centile_count donnera «5» le nombre entre les valeurs 3 et 7. Et centile_disc montre 7 de la descendant. Comme la valeur de cette fonction provient toujours des données disponibles. Il fournit donc la valeur la plus proche de la médiane après les calculs.

Comme les données du PostgreSQL sont présentes dans les relations (tableau), le centile est appliqué sur la colonne d'une valeur numérique (Pay). Nous avons créé un tableau nommé professeur. La requête suivante nous aidera d'abord à illustrer les attributs de table, puis à appliquer le centile_disc ().

>> Sélectionner * parmi le professeur; Sélectionner le centile_disc (0.5) dans le groupe (Ordre par profession.payer) du professeur;

La première moitié de la requête affichera le contenu de la table. tandis que la deuxième partie sélectionnera la valeur centile. Une clause d'ordre par rapport est appliquée ici. Cette clause organisera les éléments de la colonne pertinente dans l'ordre croissant, puis appliquera la fonction dessus. La colonne (Pay) est utilisée pour que cette requête soit exécutée.

Après l'exécution, le résultat est de 51, une valeur distincte qui est obtenue par la fonction centile. Pour le rendre plus clair, un simple «ntile» de 100 est utilisé pour organiser chaque élément de la colonne dans l'ordre croissant.

>> Sélectionnez Professeur. Pay, ntile (100) au-dessus (commande par le professeur. payer) du professeur;

La commande mentionnée ci-dessus transmet la colonne «Pay» du tableau. Il a facilité la compréhension de la façon dont le centile_disc fonctionnera. Comme les chiffres totaux dans la colonne «Pay» sont 8 lignes qui sont même. Il est donc difficile d'obtenir le milieu précis des données. Disque () ira pour la valeur la plus proche. C'est «51» selon l'ordre croissant.

Dans le cas de centile_count, le reste de la commande est le même, mais la fonction est passée du disque à CONT. Comme son nom indique le fonctionnement de centile_cont, la valeur est sous forme de continuité, ce qui signifie aucune fin jusqu'à présent. Par conséquent, le résultat sera toujours sous forme décimale. Cela accordera le milieu de deux nombres adjacents. En d'autres termes, cette fonction récupère les deux nombres présents au centre de la colonne, dans le cas de nombres pair.

>> sélectionner centile_count (0.5) dans le groupe (Ordre par Profrssor.payer) du professeur;

Entre 51 et 52 son «51.5 ”est la valeur continue précise de la médiane dans la colonne« Pay ».

Vous pouvez également modifier la valeur centile dans n'importe quelle fonction. Par exemple, nous utilisons 0.25, 0.5, et 0.75 comme paramètre dans centile_disc ().

Centile_disc (0.25)
Centile_disc (0.5)
Centile_dic (0.75)

Toutes les valeurs sont affichées collectivement dans une seule ligne en utilisant cette syntaxe dans la fonction. Considérez le claquement que nous avons attaché, qui montre le Ntile de la colonne, toutes les valeurs sont triées par ordre croissant. Si 0.5 mène à la valeur «51», puis pour 0.25, il est 8 et pour «0.75 ”c'est 77. Comme c'est le numéro présent à l'identifiant 4, donc pour 0.25, il est calculé selon le 4ème ID respectivement. Et similaire est le cas avec 0.75.

Utilisation de la fonction pour la médiane

Pour appliquer la fonction du calcul de la médiane du tableau, nous devons avoir un nouveau tableau d'échantillons. Après la création, les valeurs seront ajoutées pour le faire à l'état fonctionnel. La table temporaire est utilisée car nous n'avons pas besoin de ces données plus longtemps pour exister dans la base de données.

>> Créer une médiane de table temporaire (id serisr, classe varchar (50), nom varchar (50), de décimal de qualité (5,1)); >> Insérer dans les valeurs médianes (classe, nom, grade) ('x', 'y', z);

Après l'insertion de la valeur, nous allons avoir un aperçu des données insérées. À cette fin, utilisez l'instruction SELECT.

>> Sélectionner * parmi la médiane,

Dans cette fonction, la médiane de chaque classe sera calculée séparément. Ce partitionnement est selon la colonne de classe. Les données sont triées dans les commandes ASC et DESC. Une nouvelle fonction est initialisée ici Numéro de ligne (). Cela va récupérer le numéro de ligne, puis appliquer les opérations en fonction de lui. Jetons un coup d'œil au code. Ensuite, nous allons le décomposer pour voir ce qui se passe ici pour obtenir la médiane.

Sélectionner la commande est utilisée qui introduit la sous-requête. Cette sous-requête utilise ce numéro de ligne () qui organisera les lignes dans l'ordre croissant et descendant. Pour chaque classe, les commandes sont utilisées pour les numéros de lignes.

Chaque fois que vous êtes à la recherche de la médiane dans la liste des valeurs en nombre uniformes, la réponse réside toujours dans la prise de la moyenne des deux nombres moyens comme le centile_cont. Cela se produit dans cette commande pour obtenir la médiane.

Rowasc dans (Rowdescs, Rowdesc - 1, Rowdesc + 1)

Le résultat est renvoyé de la sous-requête à la requête principale. Puis une moyenne est calculée. Pour les mathématiques, nous obtenons 72.0, le milieu attendu dans le cas d'une liste impair de valeurs. Alors que pour la science, il est 76.5. Il a un nombre uniforme dans les sujets scientifiques, donc nous obtenons le milieu de 72 et 81.

Conclusion

La fonction médiane postgresql rend plus facile de trouver le point médian dans les données simples ou tabulaires que de le calculer manuellement. Bien qu'il s'agisse d'une fonction créée par l'utilisateur, il utilise certaines fonctions intégrées pour récupérer l'enregistrement pertinent. Centile_cont et centile_disc sont considérés comme le cœur du sujet en discussion. Comme leur soutien silencieux à fournir un concept médian dans la fonction est remarquable. Cependant, toutes ces fonctions sont suffisantes pour trouver la médiane.