Heim > Datenbank > MySQL-Tutorial > Wie kann ich SQL-Ergebnisse nach Monat und Jahr in einem für Menschen lesbaren Format gruppieren?

Wie kann ich SQL-Ergebnisse nach Monat und Jahr in einem für Menschen lesbaren Format gruppieren?

DDD
Freigeben: 2024-12-29 02:07:17
Original
841 Leute haben es durchsucht

How Can I Group SQL Results by Month and Year in a Human-Readable Format?

SQL-Ergebnisse nach Monat und Jahr gruppieren

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“.

Problem: Anzeige von Monat und Jahr in gruppierten Ergebnissen

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)
Nach dem Login kopieren

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“.

Lösung: Datumswerte umwandeln

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, ...
Nach dem Login kopieren

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.

Alternative Lösung: Führende Nullen

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) 
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage