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

So erhalten Sie Daten der letzten Woche in MySQL

Manchmal müssen Sie möglicherweise Zeilen der letzten Woche in MySQL abrufen, um Berichte und Analysen zu erstellen. So erhalten Sie die Daten der letzten Woche in MySQL.

So erhalten Sie Daten der letzten Woche in MySQL

Hier sind die Schritte zum Abrufen der Daten der letzten Woche in MySQL. Nehmen wir an, Sie haben die folgende Tabelle product_orders(id, order_date, amount)

mysql> create table product_orders(id int, order_date date, amount int);

mysql> insert into product_orders values(1,'2020-07-20',100),
     (2,'2020-07-21',250),
     (3,'2020-07-22',225),
     (4,'2020-07-23',150),
     (5,'2020-07-24',200),
     (6,'2020-07-25',180),
     (7,'2020-07-26',150),
     (8,'2020-07-27',200),
     (9,'2020-07-28',250),
     (10,'2020-07-29',300),
     (11,'2020-07-30',150),
     (12,'2020-07-31',200),
     (13,'2020-08-01',180),
     (14,'2020-08-02',200);

mysql> select * from product_orders;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-20 |    100 |
|    2 | 2020-07-21 |    250 |
|    3 | 2020-07-22 |    225 |
|    4 | 2020-07-23 |    150 |
|    5 | 2020-07-24 |    200 |
|    6 | 2020-07-25 |    180 |
|    7 | 2020-07-26 |    150 |
|    8 | 2020-07-27 |    200 |
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
|   14 | 2020-08-02 |    200 |
+------+------------+--------+

Bonus-Lesetext:MySQL-Kopierdatenbank

Hier ist die SQL-Abfrage, um die Daten der letzten Woche in MySQL abzurufen.

mysql> select * from product_orders where week(order_date)=week(now())-1;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    7 | 2020-07-26 |    150 |
|    8 | 2020-07-27 |    200 |
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
+------+------------+--------+

In der obigen SQL-Abfrage verwenden wir die WEEK()-Funktion, um die Wochennummer von order_date zu erhalten Säule. Wir wählen nur die Datensätze aus, deren Wochennummer um 1 kleiner ist als die Wochennummer des heutigen Datums, die wir mit der NOW()-Funktion erhalten haben.

Bonus-Lesung:MySQL-Insert in Select

So erhalten Sie die Daten der letzten 7 Tage in MySQL

Manchmal müssen Sie möglicherweise Aufzeichnungen der letzten 7 Tage abrufen. Hier ist die SQL-Abfrage, um die Daten der letzten 7 Tage in MySQL abzurufen.

mysql> select * from product_orders where order_date> now() -  interval 7 day;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    9 | 2020-07-28 |    250 |
|   10 | 2020-07-29 |    300 |
|   11 | 2020-07-30 |    150 |
|   12 | 2020-07-31 |    200 |
|   13 | 2020-08-01 |    180 |
|   14 | 2020-08-02 |    200 |
+------+------------+--------+

In der obigen Abfrage wählen wir diejenigen Datensätze aus, deren order_date ist nach einem vergangenen Intervall von 7 Tagen ab heute.

Bonus-Lesetext:MySQL wählt die oberen N Zeilen aus

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!