MySQL ruft Daten der letzten 30 Tage ab
- Daten in die Datenbank importieren
-
Verwenden Sie die Systemfunktion
now()
, um die Daten der letzten 30 Tage in MySQL abzurufen -
Verwenden Sie
current_date()
, um die Daten der letzten 30 Tage in MySQL abzurufen -
Verwenden Sie die Systemfunktion
date_sub()
, um die Daten der letzten 30 Tage in MySQL abzurufen -
Verwenden Sie den Befehl
between
, um die Daten der letzten 30 Tage in MySQL abzurufen - Abschluss
In diesem Artikel erfahren Sie, wie Sie die Datensätze der letzten 30 Tage mithilfe von SQL-Abfragen aus der Datenbank abrufen.
Daten in die Datenbank importieren
Importieren Sie zunächst einige Beispieldaten mithilfe einer SQL-Abfrage in die Datenbank. Vor dem Importieren eines Datensatzes müssen wir eine Tabelle unter einer Datenbank erstellen.
SQL-Abfrage:
create table sales(order_date date, sale int);
Die obige Syntax erstellt eine Verkaufs
-Tabelle mit zwei Spalten als Bestelldatum
und Verkauf
. Typen von order_date
und sale
sind jeweils date
und int
.
Als Nächstes importieren wir einige Daten durch manuelle Eingaben in die Tabelle.
SQL-Abfrage:
insert into sales(order_date, sale)
values ('2022-09-04',230), ('2022-09-05',200), ('2022-09-06',210), ('2022-09-07',180), ('2022-09-08',220), ('2022-09-09',230), ('2022-09-10',220), ('2022-09-11',225), ('2022-09-12',200), ('2022-09-13',210), ('2022-09-14',190),('2022-09-15',200), ('2022-09-16',220), ('2022-09-17',210), ('2022-09-18',190), ('2022-09-19',180), ('2022-09-20',250), ('2022-09-21',240), ('2022-09-22',245), ('2022-09-23',230), ('2022-09-24',220), ('2022-09-25',210), ('2022-09-26',130), ('2022-09-27',200), ('2022-09-28',210), ('2022-09-29',221), ('2022-09-30',235), ('2022-10-01',237), ('2022-10-02',230), ('2022-10-03',220), ('2022-10-04',210), ('2022-10-05',200), ('2022-10-06',260), ('2022-10-07',270), ('2022-10-08',240), ('2022-10-07',290), ('2022-10-10',230);
Ausgang:
Nach dem Importieren von Daten können wir die Daten jetzt gemäß unseren Anforderungen extrahieren.
In diesem Artikel werden drei Methoden erläutert, um Daten aus der Datenbank der letzten 30 Tage zu erhalten. Auch wenn es keine eingebauten Funktionen zum Abrufen von Datensätzen der letzten 30 Tage in MySQL gibt, können diese mithilfe der folgenden SQL-Abfragen abgerufen werden.
Verwenden Sie die Systemfunktion now()
, um die Daten der letzten 30 Tage in MySQL abzurufen
Wenn wir alle Datensätze aus der Tabelle Verkäufe
erhalten möchten, können wir die folgende Abfrage verwenden, die dabei hilft, alle Datensätze der Tabelle Verkäufe
anzuzeigen.
SQL-Abfrage:
select * from sales
Wir können die Aufzeichnungen der letzten 30 Tage abrufen, indem wir die obige SQL-Abfrage ändern.
SQL-Abfrage:
select * from sales
where order_date > now() - interval 30 day;
Mit der obigen Abfrage können wir Datensätze auswählen, bei denen order_date
nach einem Intervall der letzten 30 Tage liegt.
Ausgang:
Die Systemfunktion now()
erhält den neuesten DateTime-Wert, und die interval
-Klausel berechnet das Datum 30 Tage in der Vergangenheit.
Die Syntax der Intervall
-Klausel ist wie folgt.
interval expr unit
expr
- die MengeEinheit
– die Einheit für den interpretierten Betrag (z. B. STUNDE, TAG oder WOCHE)Intervall
- Schlüsselwort und Einheitenbezeichner
Diese unterscheiden nicht zwischen Groß- und Kleinschreibung und können in Ausdrücken ausgeführt werden, indem Intervall
mit dem +
- oder -
-Operator kombiniert wird.
Verwenden Sie current_date()
, um die Daten der letzten 30 Tage in MySQL abzurufen
Anstelle von now()
können wir auch current_date()
verwenden. Unten ist die SQL-Abfrage, wie wir das verwenden werden.
SQL-Abfrage:
select * from sales
where order_date > current_date - interval 30 day;
Ausgang:
In dieser Abfrage ist der Prozess derselbe wie in der obigen SQL-Abfrage, und hier ersetzen wir now()
durch current_date()
.
Verwenden Sie die Systemfunktion date_sub()
, um die Daten der letzten 30 Tage in MySQL abzurufen
Die Verwendung der folgenden SQL-Abfrage hilft auch dabei, Aufzeichnungen von 30 Tagen zu erhalten.
SQL-Abfrage:
select * from sales
where `order_date` >= date_sub(curdate(), interval 30 day)
Ausgang:
Gemäß dem Obigen haben sie zwei einzigartige Verfahren verwendet, die sich von dem oben diskutierten Verfahren unterscheiden.
Hier haben sie die Funktion curdate()
verwendet, um das aktuelle Datum zu finden, während date_sub()
verwendet wird, um 30 Tage von der berechneten aktuellen DateTime abzuziehen.
Wie in der Ausgabe gezeigt, extrahiert die SQL-Abfrage die Daten der letzten 30 Tage aus dem Datensatz und zeigt sie an.
Verwenden Sie den Befehl between
, um die Daten der letzten 30 Tage in MySQL abzurufen
Die folgende Abfrage ist eine Kombination der oben genannten Methoden. Abweichend von den obigen Methoden verwenden wir hier den Befehl BETWEEN
in der SQL-Abfrage.
SQL-Abfrage:
select date_format(order_date,'%Y/%m/%d') from sales
where order_date between now() - interval 30 day and now()
Ausgang:
Die Verwendung des Befehls zwischen
verhindert, dass zukünftige Datensätze abgerufen werden, und gibt die Datensätze genau zwischen dem angegebenen Zeitraum aus.
Hier extrahiert es die Datensätze zwischen den letzten 30 Tagen bis zum letzten Tag. Definieren Sie bei der frühesten Abfrage das Datumsformat für einen einfachen Zugriff auf die Ausgabe.
Abschluss
Insgesamt können wir mit den oben genannten Methoden die Aufzeichnungen der letzten 30 Tage abrufen und anzeigen. Es mag mehr Methoden geben, um die Datensätze der letzten 30 Tage mit der Kombination der oben diskutierten Methoden zu erhalten, aber dies sind die gebräuchlichsten Methoden, um die Datensätze der letzten 30 Tage zu extrahieren.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.