Parfois, vous devrez peut-être obtenir les enregistrements des 7 derniers jours ou obtenir les lignes des 7 derniers jours dans MySQL. Vous pouvez facilement obtenir des enregistrements des 7 derniers jours dans MySQL, même s'il n'y a pas de fonction pour cela. Voici la requête SQL pour sélectionner les enregistrements des 7 derniers jours.
Comment obtenir les enregistrements des 7 derniers jours dans MySQL
Voici le SQL pour obtenir les enregistrements des 7 derniers jours dans MySQL. Disons que vous avez le tableau suivant sales(order_date,sale) qui contient des données de ventes quotidiennes.
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 | +------------+------+
Lecture bonus :comment obtenir des enregistrements des 30 derniers jours
Comment obtenir les enregistrements des 7 derniers jours
Voici la requête SQL pour obtenir les enregistrements des 7 derniers jours dans MySQL.
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 | +------------+------+
Dans la requête ci-dessus, nous sélectionnons les enregistrements où order_date tombe après un intervalle passé de 7 jours. Nous utilisons la fonction système now() pour obtenir la dernière valeur datetime et la clause INTERVAL pour calculer une date de 7 jours dans le passé.
Vous pouvez également utiliser current_date au lieu de maintenant()
mysql> select * from sales where order_date > current_date - interval 7 day;
Lecture bonus :comment obtenir des enregistrements entre 2 dates dans MySQL
Comment obtenir les données de la dernière semaine
Voici comment obtenir l'enregistrement de la dernière semaine dans 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 | +------------+------+
Lecture bonus :comment obtenir des enregistrements des dernières 24 heures dans MySQL
Dans la requête ci-dessus, nous sélectionnons les lignes où order_date tombe après 1 semaine d'intervalle. Nous utilisons l'argument "1 semaine" pour la clause INTERVAL, au lieu d'utiliser "7 jours".
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 !