Heim >Datenbank >MySQL-Tutorial >Wie wähle ich MySQL-Datensätze der letzten 30 Tage, einschließlich heute, aus?

Wie wähle ich MySQL-Datensätze der letzten 30 Tage, einschließlich heute, aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-20 13:18:091000Durchsuche

How to Select MySQL Records from the Last 30 Days, Including Today?

Auswählen von Datensätzen zwischen heute und den letzten 30 Tagen in MySQL

In MySQL können Sie Datensätze abrufen, die in einen angegebenen Datumsbereich fallen, indem Sie eine Abfrage wie die folgende:

SELECT *
FROM table_name
WHERE date_column BETWEEN start_date AND end_date

Wenn Benutzer jedoch versuchen, die Ergebnisse auf die letzten 30 Tage zu beschränken, können Probleme auftreten Die Abfrage gibt stattdessen alle Datensätze zurück. Um dieses Problem zu beheben, ist es wichtig, die richtige Datumsformatierungssyntax zu verstehen.

In der bereitgestellten Abfrage:

create_date between DATE_FORMAT(curdate(),'%m/%d/%Y') AND (DATE_FORMAT(curdate() - interval 30 day,'%m/%d/%Y'))

Die Funktion DATE_FORMAT wird in der WHERE-Klausel falsch verwendet. Diese Funktion sollte in der SELECT-Klausel angewendet werden, um die abgerufenen Daten für Anzeigezwecke zu formatieren:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y') AS formatted_date
FROM table_name
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()

Außerdem ist es wichtig, den Datentyp der Spalte „create_date“ zu berücksichtigen. Wenn es als DATETIME mit einer Zeitkomponente ungleich Null gespeichert wird, wählt die obige Abfrage die heutigen Datensätze nicht genau aus. Verwenden Sie in solchen Fällen stattdessen NOW():

SELECT DATE_FORMAT(create_date, '%m/%d/%Y') AS formatted_date
FROM table_name
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()

Durch Anwenden dieser Korrekturen ruft die Abfrage Datensätze korrekt ab, die innerhalb des angegebenen 30-Tage-Bereichs erstellt wurden und im gewünschten Format „MM/TT/JJ“ formatiert sind. Format.

Das obige ist der detaillierte Inhalt vonWie wähle ich MySQL-Datensätze der letzten 30 Tage, einschließlich heute, aus?. 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