PostgreSQL -Gruppe von

PostgreSQL -Gruppe von
PostgreSQL -Gruppe von Klausel ist eine Funktion, mit der diese Zeilen in der Tabelle vereint/kombiniert werden. Diese Klausel wird hauptsächlich zum Entfernen von doppelten Daten und zur Aufrechterhaltung der Parallelität verwendet. Wann immer wir die Summe oder ein anderes Aggregat wie AVG usw. berechnen wollen, usw., Diese Gruppe nach Klausel wird immer verwendet, da in PostgreSQL viele Klauseln verwendet werden. Es gibt jedoch eine Hierarchie zwischen jeder Klausel.

Von> where> "gruppen by"> auswählen> chary> order by> limit

Die Arbeit von Postgresql liegt in „Wo“ und in der Klausel „Have“.

Syntax

Wählen Sie die Spalte
Von dumytable
Wo [Bedingungen]
Gruppe von FirstColumn, Secondcolumn…
Bestellung von FirstColumn, Secondcolumn…;

Beispiel 1

Um das Konzept der Gruppe nach Funktion zu verstehen, verwenden wir hier ein Beispiel. In der Tabelle der Passagiere können Sie sehen, dass die Nachnamen für einige Personen gleich sind. Jeder Name, der einem anderen ähnlich ist, bildet eine Gruppe aus, und ihre Zahlung wird gemeinsam gegen jedenselben Namen hinzugefügt. Dies wird im folgenden Beispiel ausgearbeitet.

>> Wählen Sie LNAME, Summe (Zahlung) von der Passagiergruppe von LNAME;

Der Nachname des Passagiers wird unter Verwendung einer integrierten Funktion "Summe" ausgewählt, die die Spalte "Zahlung" nimmt. Und fügen Sie die Zahlung für Personen hinzu, die denselben Namen haben. Zum Beispiel wird das Gehalt von „Javed“ und „Saad“ hinzugefügt. Während für "Malik" und "Shams" es individuell erwähnt wird.

Betrachten Sie in ähnlicher Weise eine Tabelle "Krankenhaus". Wir wollen die Stadt für das Alter gruppieren. In diesem Beispiel existiert eine Stadt mehr als einmal in einer Spalte. Jede Stadt ist mit dem gleichen Stadtnamen gruppiert. Das Alter jeder Gruppe der Stadt wird hinzugefügt und bildet eine einzelne Reihe.

Krankenhaus:

>> Stadt auswählen, Summe (Alter) aus der Krankenhausgruppe nach Stadt;

Beispiel 2

Wenn wir den Nachnamen mit der ID aus dem Passagier -Passagier aus auswählen, ist das Ergebnis alternativ eine andere Tabelle. Denn wenn wir beide Spalten zusammen gruppieren, wird der Name jedes Passagiers angezeigt, da die ID für jeden Passagier, auch einen gemeinsamen Nachnamen, anders ist, anders ist. Die Summe wird in einer separaten Spalte berechnet, aber die Zahlung jedes Passagiers wird vor seinem Namen erwähnt, da die Gruppierung von LNAME hier nicht erfolgt.

Dies ist ein Beispiel für die Gruppe nach Klausel mit mehreren Spalten. Denn wenn mehrere Spalten für die Gruppierung ausgewählt werden, wird der resultierende Wert im Vergleich zur Gruppe durch eine einzelne Tabelle geändert.

>> ID, LNAME, Summe (Zahlung) von der Passagiergruppe durch ID, lname;

Aus der Ausgabe werden Sie eine Sache bemerken, die zuerst all diejenigen, die ungewöhnlich sind, angezeigt werden, und dann werden diejenigen, die gleich sind, in der Tabelle erwähnt.

Beispiel 3

Dieses Beispiel hat eine Join -Erkrankung und eine Gruppe nach Klausel. Da "Join" verwendet wird, bedeutet dies, dass wir hier zwei Tabellen verwendet haben. Einer ist "Gegenstand", und der andere ist "Bestellungen".

Artikel:

Aufträge:

Wir haben eine Verkettungsmethode (verwendet, um zwei Zeichenfolgen zu verbinden), um die Werte von zwei Spalten der Tabelle "Elemente" mit "und" die Spalte gemeinsam als "Beschreibung" zu benennen. Es ist optional; Sie können sie separat nehmen. In dieser Abfrage identifiziert das Schlüsselwort „Verwenden“ die spezifische Spalte aus der anderen Tabelle. Die Adresse aus der Element -Tabelle ist mit der Adressspalte der Tabelle „Bestellungen“ übereinstimmt. Dies geschieht durch eine Verbindung zwischen zwei Tischen. Wie bei früheren Beispielen werden beide Spalten von der Gruppe per Klausel ausgewählt.

>> Name wählen || ',' || Kategorie als Beschreibung, Adresse von Elementen innere Join -Bestellungen mit (Adresse) Gruppe nach Adresse, Beschreibung;

Sie können feststellen, dass 5 Zeilen ausgewählt werden, wobei die Adresse der Elemente mit der Adresse der Bestellungen übereinstimmt. Und dann wird die Spalte Beschreibung Korrespondenz mit der Adressspalte gebildet.

In ähnlicher Weise gibt es ein weiteres Beispiel für eine Verkettung mit dem Altersfaktor in zwei Tabellen. Einer ist "Passagier", und der andere ist "Arbeiter". Die Verkettung liegt zwischen dem ersten und dem Nachnamen. Beide Namen werden durch den Raum zwischen zwei Namen getrennt. Wir haben hier einen Teil des Arbeitertisches genommen.

Arbeiter:

Die Abfrage funktioniert so.

>> Wählen Sie fname || "|| Passagier.lname als full_name, Passagier.Alter von Passagier innerer Join Worker Verwenden Sie (FNAME) Gruppe von Full_Name, Passagier.Altersauftrag durch Passagier.Alter;

Eine Reihe wird gebildet. Der Full_Name wird erstellt, indem zwei Spalten mit Raum verbindet, und die Adresse wird ausgewählt, wenn der Fname des Passagiers mit dem FNAME des Arbeiters übereinstimmt.

Beispiel 4

Dieses Beispiel befasst sich mit der Verwendung einer count () -Funktion, um die IDs der Tabelle „Elemente“ zu zählen. Dies ist wieder eine Gruppe nach der ID der Tabelle.

>> ID auswählen, zählen (ID) aus Elementengruppen nach ID;

Die Zeilen in der Spalte ID werden in Gruppen aufgeteilt. Jede Gruppe wird in der Spalte gezählt, wie oft sie in der Spalte erscheint. In der resultierenden Tabelle wird eine neue Spalte mit einem "Zähl" -Namen erstellt, und die Werte der Anzahl werden hier vor jeder Gruppe geschrieben.

Via pgadmin

Jetzt haben wir einige Beispiele auf der Dashboard -Seite von postgresql angewendet. Diese Beispiele unterscheiden.

Betrachten Sie das erste Beispiel; Hier haben wir einen Spaltennamen "All" erstellt, der zwei Spalten kombiniert hat. Eine Adresse und eine Kategorie. Die Spalte "Alle" zählt die Werte in beiden Spalten kollektiv. Die Adressspalte ist als "Hinzufügen" gruppiert und die Kategoriespalte wird getrennt als "Katze" gruppiert. Als Spaltennamen beider verwendeten Tabellen können miteinander übereinstimmen. Auf jede Spalte der jeweiligen Tabelle wird also von einem bestimmten Objekt zugegriffen.

Die auf dem Befehl angewendete Bedingung hängt von der ID und der Bestellnummer ab. Wenn beide ID- und Bestellnummern gleich sind, werden die Daten abgerufen. In ähnlicher Weise wird auch für den Namen eine zusätzliche Bedingung hinzugefügt.

>> Wählen Sie o.Adresse, Kategorie, zählen (*) als „alle“, Gruppierung (o.Adresse) als "Hinzufügen", Gruppierung (Kategorie) als "Katze" aus den Artikeln I, Bestellungen o Where I.order_no = o.Order_id und ich.Adresse = 'Lahore' Gruppe von Cube (o.Adresse, Kategorie) Reihenfolge nach 1, 2;

Für die Stadt Lahore wird eine Kategorie ausgewählt. Es gibt 4 Möglichkeiten. Manchmal ist das Spielzeug vorhanden, aber nicht die Adresse. Und umgekehrt. Es gibt jedoch eine Zeit, in der sowohl die Kategorie als auch die Adresse vorhanden sind.

Wenn wir nun die Bedingung des Namens aus einer Tabelle ändern und die Tabelle mit anderen wechseln. "Artikel.Adresse “wird durch die„ Bestellung ersetzt.Adresse “, dann ist das Ergebnis anders.

Abschluss

Die Klausel „PostgreSQL -Gruppe by“ wird verwendet, um den gesamten Gesamtbetreiber auf die kollektiven Daten anzuwenden. In diesem Artikel wird Gruppen nach Klausel mit Zählfunktion, Verknüpfungen und Auswahl und Gruppierung mehrerer Spalten verwendet. Ich bin mir sicher, dass dieses Tutorial für die Leser das beste Mittel des Verständnisses sein wird.