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!