Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir les données de la semaine dernière dans MySQL

Parfois, vous devrez peut-être récupérer les lignes de la semaine dernière dans MySQL pour les rapports et l'analyse. Voici comment obtenir les données de la semaine dernière dans MySQL.

Comment obtenir les données de la semaine dernière dans MySQL

Voici les étapes pour obtenir les données de la semaine dernière dans MySQL. Disons que vous avez le tableau suivant 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 |
+------+------------+--------+

Lecture bonus :copie de la base de données MySQL

Voici la requête SQL pour obtenir les données de la semaine dernière dans MySQL.

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 |
+------+------------+--------+

Dans la requête SQL ci-dessus, nous utilisons la fonction WEEK() pour obtenir le numéro de semaine de order_date colonne. Nous sélectionnons uniquement les enregistrements dont le numéro de semaine est inférieur de 1 au numéro de semaine de la date d'aujourd'hui, obtenu à l'aide de la fonction NOW().

Lecture bonus :Insertion MySQL dans Select

Comment obtenir les données des 7 derniers jours dans MySQL

Parfois, vous devrez peut-être récupérer les enregistrements des 7 derniers jours. Voici la requête SQL pour obtenir les données des 7 derniers jours dans MySQL.

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 |
+------+------------+--------+

Dans la requête ci-dessus, nous sélectionnons les enregistrements dont la order_date est après un intervalle passé de 7 jours à partir d'aujourd'hui.

Lecture bonus :MySQL Select Top N Rows

Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !