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

Comment obtenir les données de la semaine en cours dans MySQL

Parfois, vous devrez peut-être obtenir les enregistrements de la semaine en cours ou récupérer les enregistrements de cette semaine pour les rapports et l'analyse. Dans cet article, nous verrons comment obtenir les données de la semaine en cours dans MySQL.


Comment obtenir les données de la semaine en cours dans MySQL

Disons que vous avez le tableau suivant sales(id, order_date, amount )

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

mysql> insert into sales(id, order_date, amount)
      values(1, '2021-01-24',250),
      (2, '2021-01-25',250),
      (3, '2021-01-26',250),
      (4, '2021-01-27',250),
      (5, '2021-01-28',250),
      (6, '2021-01-29',250),
      (7, '2021-01-30',250),
      (8, '2021-01-31',250),
      (9, '2021-02-01',250);
 
 mysql> select * from sales;
 +------+------------+--------+
 | id   | order_date | amount |
 +------+------------+--------+
 |    1 | 2021-01-24 |    250 |
 |    2 | 2021-01-25 |    250 |
 |    3 | 2021-01-26 |    250 |
 |    4 | 2021-01-27 |    250 |
 |    5 | 2021-01-28 |    250 |
 |    6 | 2021-01-29 |    250 |
 |    7 | 2021-01-30 |    250 |
 |    8 | 2021-01-31 |    250 |
 |    9 | 2021-02-01 |    250 |
 +------+------------+--------+


Comment obtenir les enregistrements de la semaine en cours dans MySQL

Il est très facile d'obtenir les données de la semaine en cours dans MySQL. Voici la requête SQL pour obtenir les enregistrements de la semaine en cours dans MySQL.

mysql> select * 
      from sales 
      where week(order_date)=week(now());
 +------+------------+--------+
 | id   | order_date | amount |
 +------+------------+--------+
 |    8 | 2021-01-31 |    250 |
 |    9 | 2021-02-01 |    250 |
 +------+------------+--------+

Dans la requête ci-dessus, nous utilisons now() fonction pour obtenir la date actuelle, et semaine() fonction pour obtenir le numéro de semaine des valeurs de date. Nous sélectionnons donc les lignes dont le numéro de semaine de order_date est le même que le numéro de semaine du jour d'aujourd'hui.


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

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

mysql> select * 
       from sales 
       where order_date> now() - interval 1 week;
 +------+------------+--------+
 | id   | order_date | amount |
 +------+------------+--------+
 |    3 | 2021-01-26 |    250 |
 |    4 | 2021-01-27 |    250 |
 |    5 | 2021-01-28 |    250 |
 |    6 | 2021-01-29 |    250 |
 |    7 | 2021-01-30 |    250 |
 |    8 | 2021-01-31 |    250 |
 |    9 | 2021-02-01 |    250 |
 +------+------------+--------+

Dans la requête SQL ci-dessus, nous sélectionnons les lignes dont la order_date tombe après les 7 derniers jours. Nous utilisons le mot-clé INTERVAL pour soustraire 1 semaine de la date actuelle.

Besoin d'un outil de reporting pour MySQL ? 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 !