Gruppierung nach Woche in MySQL: Über DATE_FORMAT hinaus
Im Gegensatz zur praktischen TRUNC-Funktion von Oracle fehlt MySQL eine direkte Methode, um Zeitstempel in die des vorherigen Sonntags zu konvertieren Mitternacht. Um dieser Herausforderung zu begegnen, müssen MySQL-Benutzer alternative Techniken anwenden.
Ein Ansatz besteht darin, die Funktionen YEAR und WEEK zu kombinieren, wie zum Beispiel:
SELECT YEAR(timestamp), WEEK(timestamp), ... FROM ... GROUP BY YEAR(timestamp), WEEK(timestamp)
Eine andere Option besteht darin, die Funktion YEARWEEK zu verwenden. mit einem optionalen Modusparameter, um zu steuern, wie Wochen behandelt werden, die über den 1. Januar hinausgehen.
SELECT YEARWEEK(mysqldatefield, mode) AS week, ... FROM ... GROUP BY week
Durch die Kombination dieser Datumsfunktionen in einem einzigen Ausdruck ist es möglich Erhalten Sie die gewünschte Wochengruppierung:
SELECT YEAR(timestamp) || '/' || WEEK(timestamp) AS week, ... FROM ... GROUP BY week
In Fällen, in denen unvollständige Wochen am Anfang oder Ende eines Jahres unerwünscht sind, kann der JAHR/WOCHE-Ansatz bevorzugt werden. Alternativ kann YEARWEEK mit dem Modus 0 oder 2 verwendet werden, um nach vollständigen Wochen zu gruppieren, auch wenn sie sich über den 1. Januar erstrecken.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Daten effizient nach Woche gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!