SQL -Gruppe für Monat

SQL -Gruppe für Monat

Problem

Angenommen, wir haben eine Tabelle mit Mitarbeiterinformationen, wie unten gezeigt:

Ziel ist es, die obigen Daten basierend auf dem Monat des Starts zu bestellen. Dies ist in der Spalte start_date beschrieben.

Wie können wir uns einem solchen Problem nähern??

Lösung 1 - Gruppe nach Spalte (Extrakt)

Die erste Methode, die wir verwenden können, ist die Funktion extract () in SQL. Es ermöglicht es uns, bestimmte Teile aus einem Datumsobjekt zu extrahieren.

Daher können wir die Funktion extract () verwenden, um den Monat des Datums des Datums zu extrahieren und die Daten aus dem resultierenden Wert zu gruppieren.

Eine Beispielabfrage ist wie gezeigt:

WÄHLEN
Max (start_date) max (start_date)
Von Mitarbeitern
Gruppe von Extrakt (Monat von start_date);

Die oben genannten sollte die Daten nach den Monaten gruppieren und das maximale Datum in jeder Monatsgruppe zurückgeben:

Lösung 2 - Datumsformat

Sie können auch die Funktion DATE_FORMAT verwenden, um Daten nach dem Monatsnamen zu gruppieren. Ein Beispiel ist wie gezeigt:

Wählen Sie DATE_FORMAT ('Monat', start_date) als start_month aus,
Zählen (ID) als ID
Von Mitarbeitern
Gruppe von DATE_FORMAT ('Monat', start_date);

Dies sollte die Daten basierend auf den monatlichen Namen gruppieren und die Anzahl der Anzahl anwenden.

Danke fürs Lesen!!