Groupe postgresql par

Groupe postgresql par
La clause du groupe postgresql est une fonctionnalité utilisée pour unir / combiner ces lignes dans le tableau qui ont les mêmes données. Cette clause est principalement utilisée pour supprimer les données en double et maintenir la concurrence. Chaque fois que nous voulons calculer la somme, ou tout autre agrégat comme AVG, etc., Ce groupe par clause est toujours utilisé car il existe de nombreuses clauses utilisées dans PostgreSQL. Mais il existe une hiérarchie entre chaque clause.

De> où> "groupe par"> ayant> sélectionner> distinct> Commande par> limite

Le fonctionnement de Postgresql se situe dans la clause «où» et la clause «Avoir».

Syntaxe

Sélectionner la colonne
De Dumytable
Où [conditions]
Groupe par FirstColumn, SecondColumn…
Ordre par FirstColumn, SecondColumn…;

Exemple 1

Pour comprendre le concept du groupe par fonction, nous utilisons un exemple ici. Dans le tableau des passagers, vous pouvez voir que les noms de famille sont les mêmes pour certaines personnes. Chaque nom qui est similaire à un autre forms un groupe, et leur paiement est ajouté collectivement contre chaque même nom. Ceci est élaboré dans l'exemple ci-dessous.

>> Sélectionnez LNAME, SUM (Paiement) du groupe de passagers par LNAME;

Le nom de famille du passager est sélectionné avec l'utilisation d'une fonction intégrée «somme» qui prend la colonne «paiement». Et ajouter le paiement pour les personnes qui ont le même nom. Par exemple, le salaire de «Javed» et «Saad» est ajouté. Alors que pour «Malik» et «Shams», il est mentionné individuellement.

De même, considérez un tableau «hôpital». Nous voulons regrouper la ville pour l'âge. Dans cet exemple, une ville existe plus d'une fois dans une colonne. Chaque ville est regroupée avec le même nom de la ville. Les âges de chaque groupe de la ville sont ajoutés et forment une seule rangée.

Hôpital:

>> Sélectionnez City, Sum (Age) From Hospital Group by City;

Exemple 2

Alternativement, si nous sélectionnons le nom de famille avec l'ID dans le passager de la table, le résultat sera un tableau différent. Parce que lorsque nous regroupons les deux colonnes ensemble, elle affichera le nom de chaque passager parce que l'ID pour chaque passager, même avoir un nom de famille commun, est différent. La somme est calculée dans une colonne distincte, mais le paiement de chaque passager est mentionné devant son nom car le regroupement de LNAME n'est pas fait ici.

Ceci est un exemple du groupe par clause avec plusieurs colonnes. Étant donné que lorsque plusieurs colonnes sont sélectionnées pour le regroupement, la valeur résultante est modifiée par rapport au groupe par un seul tableau.

>> Sélectionnez ID, LNAME, SUM (Paiement) de Passenger Group by ID, LNAME;

À partir de la sortie, vous remarquerez une chose que tout d'abord, tous ces lname qui sont rares sont affichés, puis ceux qui sont les mêmes sont mentionnés dans le tableau.

Exemple 3

Cet exemple a une condition de jointure et un groupe par clause. Au fur et à mesure que «join» est utilisé, cela signifie que nous avons utilisé deux tables ici. L'un est «article», et l'autre est «Ordres».

Articles:

Ordres:

Nous avons utilisé une méthode de concaténation (utilisée pour rejoindre deux chaînes) pour rejoindre les valeurs de deux colonnes de la table «Items» avec «» et nommer collectivement la colonne comme «Description». Il est facultatif; Vous pouvez les prendre séparément. Dans cette requête, le mot-clé «utilisation» identifie la colonne spécifique de l'autre tableau. L'adresse de la table des éléments est appariée avec la colonne d'adresse du tableau «Ordre». Cela se fait en faisant une jointure entre deux tables. Comme les exemples précédents, les deux colonnes seront sélectionnées par le groupe par clause.

>> Sélectionnez Nom || ',' || Catégorie comme description, adresse des éléments des commandes de jointure intérieure utilisant le groupe (adresse) par adresse, description;

Vous pouvez observer que 5 lignes seront sélectionnées avec l'adresse des éléments correspondant à l'adresse des commandes. Et puis, la colonne de description sera formée correspondance avec la colonne d'adresse.

De même, il y a un autre exemple de concaténation avec le facteur de l'âge dans deux tables. L'un est «passager», et l'autre est «travailleur». La concaténation est entre le premier et le nom de famille. Ces deux noms sont séparés à travers l'espace entre deux noms. Nous avons pris une partie de la table des travailleurs ici.

Ouvrier:

La requête fonctionnera pour que le point où le nom du travailleur soit assorti du passager, l'âge du passager, est affiché dans la colonne d'âge.

>> Sélectionnez FNAME || "|| passager.Lname comme Full_name, passager.L'âge de Passenger Inner Rejoignez un travailleur utilisant (FNAME) GROUPE PAR FILL_NAME, PASSENS.Commande d'âge par passager.âge;

Une ligne est formée. Le Full_name est créé en rejoignant deux colonnes avec l'espace, et l'adresse est sélectionnée où le nom du passager correspond au nom du travailleur du travailleur.

Exemple 4

Cet exemple traite de l'utilisation d'une fonction Count () pour compter les identifiants du tableau «éléments». C'est à nouveau un groupe par l'ID de la table.

>> Sélectionnez ID, comptez (ID) dans les éléments Groupe par ID;

Les lignes de la colonne ID sont divisées en groupes. Chaque groupe est compté dans la colonne que combien de fois il apparaît dans la colonne. Dans le tableau résultant, une nouvelle colonne avec un nom de «comte» est créée, et les valeurs du nombre sont écrites ici devant chaque groupe.

Via pgadmin

Nous avons maintenant appliqué quelques exemples du côté du tableau de bord de PostgreSQL. Ces exemples sont différents en quelque sorte car ils forment une ligne sous-totale de la colonne d'origine lorsque l'un des éléments diffère des autres, donc la valeur est renvoyée comme nul.

Considérez le premier exemple; Ici, nous avons créé un nom de colonne «tout» qui a combiné deux colonnes. Une adresse et une catégorie. La colonne 'All' compte collectivement les valeurs dans les deux colonnes. La colonne d'adresse est regroupée comme «ajouter», et la colonne de catégorie est séparée séparément comme «chat». Comme les noms de colonne des deux tables utilisées peuvent être égalées les unes aux autres. Ainsi, chaque colonne de la table respective est accessible par un objet spécifique.

La condition appliquée sur la commande dépend de l'ID et du numéro de commande. Lorsque ces deux numéros d'identification et de commande sont les mêmes, les données sont récupérées. De même, une condition supplémentaire est également ajoutée pour le nom.

>> sélectionner o.adresse, catégorie, comte (*) comme «tout», groupement (o.adresse) comme «ajouter», regrouper (catégorie) comme «chat» à partir des articles I, ordonne o où je.order_no = o.ORDER_ID et I.Adresse = groupe «Lahore» par cube (o.adresse, catégorie) commande par 1, 2;

Pour la ville de Lahore, une catégorie est sélectionnée. Il y a 4 possibilités. Parfois, le jouet est présent mais pas l'adresse. Et vice versa. Mais il existe un moment où la catégorie et l'adresse sont présentes.

Maintenant, si nous modifions l'état du nom à partir d'une table et changez la table avec d'autres. "Articles.L'adresse "est remplacée par la" commande.adresse », alors le résultat est différent.

Conclusion

La clause «Group PostgreSQL par» est utilisée pour appliquer tout opérateur agrégé aux données collectives. Cet article utilise le groupe par clause avec la fonction de comptage, les joints, et la sélection et le regroupement de plusieurs colonnes. Je suis sûr que ce tutoriel sera le meilleur moyen de comprendre pour les lecteurs.