SQL -Gruppe für Woche

SQL -Gruppe für Woche
Mit der Gruppe nach Klausel in SQL können Sie eine Reihe von Zeilen zusammenfassen, die denselben Wert in eine einzelne Entität/Gruppe haben. Stellen Sie sich dies als einen Weg vor, um eine Reihe von Zeilen mit ähnlichen Werten in eine Partition zusammenzufassen.

Zum Beispiel können wir alle Videos aus demselben YouTube -Kanal in eine einzelne Gruppe kategorisieren. Sie werden die Gruppe häufig nach Klausel finden, die in Verbindung mit anderen Aggregatfunktionen wie Max, Summe, AVG usw. verwendet wird.

Obwohl die Gruppe nach Klausel selbsterklärend ist, kann sie nicht einfach sein, wenn Sie Daten bis zur Woche gruppieren müssen.

SQL -Gruppe für Woche

Angenommen, Sie haben eine Tabelle mit den unten angegebenen Informationen:

Erstellen von Tabellenmitarbeitern (
id serielle Primärschlüssel,
full_name varchar (255),
E -Mail Varchar (255),
Abteilungsvarchar (100),
start_date Datum,
aktiver Bool,
Kategorie varchar (50)
);
In Mitarbeiter einfügen (Full_Name, E -Mail, Abteilung, start_date, aktiv, Kategorie)
WERTE
('Meghan Edwards', [email protected] ',' Game Development ', 2016-06-22', True, 'Dev-G1'),
('Sam Davis', '[email protected] ',' Game Development ',' 2014-01-04 ', False,' Dev-G1 '),
('Taylor Miller', '[email protected] ',' Game Development ',' 2019-10-06 ', wahr,' dev-g1 '),
('Wilson Smitty', '[email protected] ',' Datenbankentwickler ',' 2016-12-23 ', True,' Dev-DB1 '),
('Barbara Moore', '[email protected] "," Datenbankentwickler "," 2015-12-23 ", true," dev-db1 "),
('Raj Chan', '[email protected] ',' Datenbankentwickler ',' 2017-12-23 ', False,' Dev-DB1 '),
('Susan Brown', '[email protected] ',' DevOps Engineer ',' 2011-12-23 ', True,' Dev-Ops1 '),
('Marial Anderson', [email protected] ',' DevOps Engineer ',' 2015-12-23 ', True,' Dev-Ops1 '),
('Nancy Thomas', '[email protected] ',' DevOps Engineer ',' 2014-12-23 ', False,' dev-ops1 ');

Um die oben auf der Woche basierenden Daten zu gruppieren, können wir die Extraktfunktion in SQL verwenden. Mit dem Extract () können Sie einen bestimmten Teil eines Datums extrahieren.

Die Syntax ist wie gezeigt:

Extrahieren (Teil ab Datum);

Um die Woche ab einem Datum zu extrahieren, können wir den Teilparameter als Woche verabschieden.

Betrachten Sie unten ein Beispiel:

Wählen Sie Extrakt aus (Woche aus dem Timestamp '2022-04-08 15:57:54.937148+03 ');

HINWEIS: Das obige Beispiel wird mit PostgreSQL dargestellt. In einigen Datenbanken müssen Sie die From -Klausel nicht angeben.

Die obige Abfrage sollte zurückkehren:

EXTRAKT
---------
14

Daher ist der Zeitstempel oben in Woche 14 des Jahres.

Wir können diesen Wert wie gezeigt nach Klausel übergeben:

WÄHLEN
Extrahieren (Woche von start_date) als Woche,
Zählen (ID) als ID
Von Mitarbeitern
Gruppe von Extrakt (Woche von start_date);

Dies sollte zurückkehren:

Schließen

Diese Anleitung hat Ihnen gezeigt.