Heim > Datenbank > MySQL-Tutorial > Wie kann ich MySQL-Datensätze der letzten 30 Tage effizient abrufen?

Wie kann ich MySQL-Datensätze der letzten 30 Tage effizient abrufen?

DDD
Freigeben: 2024-12-16 15:09:11
Original
631 Leute haben es durchsucht

How to Efficiently Retrieve MySQL Records from the Last 30 Days?

Abrufen von Datensätzen innerhalb eines Zeitraums von 30 Tagen in MySQL

Benutzer stoßen häufig auf Schwierigkeiten, wenn sie versuchen, Datensätze abzurufen, die innerhalb eines Zeitraums zu einer MySQL-Datenbank hinzugefügt wurden bestimmten Datumsbereich, insbesondere bei Verwendung der Datumsformatierung. Dieser Artikel befasst sich mit dieser Herausforderung, indem er eine umfassende Lösung zum Abrufen von Datensätzen zwischen heute und den letzten 30 Tagen bereitstellt und dabei die richtige Datumsformatierung für Anzeigezwecke gewährleistet.

Bei der ursprünglichen Abfrage in der Frage ist ein Problem aufgetreten, bei dem die Einschränkung fehlgeschlagen ist Die Auswahl wurde auf die letzten 30 Tage beschränkt und stattdessen alle Datensätze abgerufen. Um dies zu korrigieren, ist es wichtig, die Funktion DATE_FORMAT innerhalb der SELECT-Klausel und nicht in der WHERE-Klausel anzuwenden. Die korrigierte Abfrage lautet wie folgt:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
Nach dem Login kopieren

Es ist wichtig zu beachten, dass CURDATE() nur den Datumsteil abruft, ohne die Uhrzeit. Wenn Ihre Spalte „create_date“ Daten als DATETIME mit einer Zeitkomponente ungleich Null speichert, gibt diese Abfrage möglicherweise nicht die heutigen Datensätze zurück.

Um dieses Problem zu beheben, sollten Sie stattdessen die Verwendung von NOW() in Betracht ziehen:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
Nach dem Login kopieren

Durch diese Änderung wird sichergestellt, dass die Abfrage Datensätze zurückgibt, die innerhalb der letzten 30 Tage hinzugefügt wurden, einschließlich derjenigen, die am aktuellen Tag mit einer beliebigen Zeitkomponente hinzugefügt wurden.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Datensätze der letzten 30 Tage effizient abrufen?. 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