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ÄHLENDie 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,Dies sollte die Daten basierend auf den monatlichen Namen gruppieren und die Anzahl der Anzahl anwenden.
Danke fürs Lesen!!