Bei der Arbeit mit SQL-Datenbanken ist es häufig erforderlich, Daten nach Zeiträumen, beispielsweise Monaten oder Jahren, zu gruppieren. Standardmäßig gruppiert die GROUP BY-Klausel von SQL Zeilen basierend auf einzelnen Monaten oder Jahren. Es kann jedoch vorkommen, dass Sie die Ergebnisse in einem besser lesbaren Format anzeigen müssen, z. B. „Monat-Jahr“.
Angenommen, Sie haben eine Abfrage, die Daten nach Monat und Jahr gruppiert und die Ergebnisse wie folgt anzeigt:
SELECT MONTH(date) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada FROM [Order] WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3') GROUP BY MONTH(date), YEAR(date)
Diese Abfrage gibt Ergebnisse zurück, wobei in der ersten Spalte nur der Monat angezeigt wird. z. B. „9“. Das Ziel besteht darin, die Abfrage so zu ändern, dass der Monat und das Jahr in einem kombinierten Format angezeigt werden, z. B. „9-2011“.
Um dies zu erreichen, können Sie Folgendes verwenden: die CAST-Funktion zum Konvertieren der Monats- und Jahreswerte in Zeichenfolgen:
SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, ...
Indem Sie die Monats- und Jahreswerte als Zeichenfolgen umwandeln, können Sie sie zu einer einzigen Zeichenfolge verketten kombiniert den Monat und das Jahr im gewünschten „Monat-Jahr“-Format.
Wenn Sie führende Nullen für den Monatswert benötigen, können Sie die folgende Syntax verwenden:
GROUP BY CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2)
Dieser Ausdruck stellt sicher, dass alle Monatswerte führende Nullen haben, wodurch die Ergebnisse konsistenter und optisch ansprechender werden.
Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Ergebnisse nach Monat und Jahr in einem für Menschen lesbaren Format gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!