Heim  >  Artikel  >  Datenbank  >  Wie wähle ich Datensätze für eine bestimmte Woche in MySQL aus: Montag bis Sonntag oder Sonntag bis Samstag?

Wie wähle ich Datensätze für eine bestimmte Woche in MySQL aus: Montag bis Sonntag oder Sonntag bis Samstag?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 21:40:02536Durchsuche

How to Select Records for a Specific Week in MySQL: Monday to Sunday or Sunday to Saturday?

MySQL: Datensätze für eine Woche auswählen

Anfangsproblem:
Wie rufe ich Datensätze aus einer Tabelle ab? für eine bestimmte Woche, gegebenes Datum?

Traditioneller Algorithmus:

  1. Bestimmen Sie den Wochentag für das angegebene Datum.
  2. Berechnen Sie die Anzahl der Tage auf den nächsten Montag genau.
  3. Berechnen Sie die Daten für Montag und Sonntag dieser Woche.
  4. Führen Sie eine Abfrage aus, um Datensätze innerhalb des berechneten Datumsbereichs abzurufen.

Kürzerer Algorithmus (unter Verwendung der YEARWEEK()-Funktion von MySQL):

SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)

Erklärung:

  • Die YEARWEEK ()-Funktion benötigt ein Datum und einen optionalen Parameter (in diesem Fall 1), der den ersten Tag der Woche (Montag) angibt.
  • Durch Vergleich von YEARWEEK() für das angegebene Datum (Datum) mit YEARWEEK () für das aktuelle Datum (CURDATE()) wählt die Abfrage Datensätze aus, die zur selben Woche gehören.

Beantwortung der zusätzlichen Frage:

Die Die vom Benutzer verwendete Abfrage wählt Datensätze für die Woche von Sonntag bis Samstag statt von Montag bis Sonntag aus. Um dies zu korrigieren, kann die folgende Änderung vorgenommen werden:

SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 3) = YEARWEEK(CURDATE(), 3)
  • Der optionale Parameter 3 gibt den ersten Tag der Woche als Montag statt als Sonntag an.

Das obige ist der detaillierte Inhalt vonWie wähle ich Datensätze für eine bestimmte Woche in MySQL aus: Montag bis Sonntag oder Sonntag bis Samstag?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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