Manchmal müssen Sie möglicherweise Datensätze der letzten 7 Tage oder Zeilen der letzten 7 Tage in MySQL abrufen. Sie können in MySQL problemlos Aufzeichnungen der letzten 7 Tage abrufen, auch wenn es keine Funktion dafür gibt. Hier ist die SQL-Abfrage, um Datensätze für die letzten 7 Tage auszuwählen.
So erhalten Sie Datensätze der letzten 7 Tage in MySQL
Hier ist die SQL, um Datensätze der letzten 7 Tage in MySQL abzurufen. Nehmen wir an, Sie haben die folgende Tabelle sales(order_date,sale) die tägliche Verkaufsdaten enthält.
mysql> create table sales(order_date date,sale int); mysql> insert into sales(order_date, sale) values('2020-06-01',237), ('2020-06-02',230), ('2020-06-03',220), ('2020-06-04',210), ('2020-06-05',200), ('2020-06-06',260), ('2020-06-07',270), ('2020-06-08',240), ('2020-06-09',290), ('2020-06-10',230), ('2020-06-11',210); mysql> select * from sales; +------------+------+ | order_date | sale | +------------+------+ | 2020-06-01 | 237 | | 2020-06-02 | 230 | | 2020-06-03 | 220 | | 2020-06-04 | 210 | | 2020-06-05 | 200 | | 2020-06-06 | 260 | | 2020-06-07 | 270 | | 2020-06-08 | 240 | | 2020-06-09 | 290 | | 2020-06-10 | 230 | | 2020-06-11 | 210 | +------------+------+
Bonuslektüre:So erhalten Sie Aufzeichnungen der letzten 30 Tage
So erhalten Sie Aufzeichnungen der letzten 7 Tage
Hier ist die SQL-Abfrage, um Datensätze der letzten 7 Tage in MySQL abzurufen.
mysql> select * from sales where order_date > now() - INTERVAL 7 day; +------------+------+ | order_date | sale | +------------+------+ | 2020-06-05 | 200 | | 2020-06-06 | 260 | | 2020-06-07 | 270 | | 2020-06-08 | 240 | | 2020-06-09 | 290 | | 2020-06-10 | 230 | | 2020-06-11 | 210 | +------------+------+
In der obigen Abfrage wählen wir die Datensätze aus, bei denen order_date fällt nach einem vergangenen Intervall von 7 Tagen. Wir verwenden die Systemfunktion now() um den neuesten datetime-Wert zu erhalten, und die INTERVAL-Klausel, um ein Datum zu berechnen, das 7 Tage in der Vergangenheit liegt.
Sie können auch aktuelles_Datum verwenden statt jetzt()
mysql> select * from sales where order_date > current_date - interval 7 day;
Bonuslektüre:So erhalten Sie Datensätze zwischen 2 Daten in MySQL
So erhalten Sie Daten der letzten 1 Woche
So erhalten Sie den Datensatz der letzten 1 Woche in MySQL
mysql> select * from sales where order_date > now() - interval 1 week; +------------+------+ | order_date | sale | +------------+------+ | 2020-06-05 | 200 | | 2020-06-06 | 260 | | 2020-06-07 | 270 | | 2020-06-08 | 240 | | 2020-06-09 | 290 | | 2020-06-10 | 230 | | 2020-06-11 | 210 | +------------+------+
Bonuslektüre:So erhalten Sie Aufzeichnungen der letzten 24 Stunden in MySQL
In der obigen Abfrage wählen wir Zeilen aus, in denen order_date fällt nach dem letzten 1-Wochen-Intervall. Wir verwenden das Argument „1 Woche“ für die INTERVAL-Klausel, anstatt „7 Tage“ zu verwenden.
Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!