Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie Datensätze der letzten 7 Tage in MySQL

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!