sql >> Database teknologi >  >> RDS >> Mysql

Sådan får du sidste 15 dages optegnelser i MySQL

Nogle gange skal du muligvis få de sidste 15 dages rækker i MySQL. Sådan får du de seneste 15 dages poster i MySQL. Du kan også bruge det til at få antallet af brugere tilmeldt inden for de sidste 15 dage, eller vælge de seneste 15 dages salgsdata til yderligere analyse.

Sådan får du sidste 15 dages poster i MySQL

Her er trinene til at få de seneste 15 dages poster i MySQL.

Lad os sige, at du har følgende tabel  salg(ordre_date, sale, orders) der indeholder dagligt antal ordrer og salgsbeløb.

mysql> create table  sales(order_date date,sale int, orders int);

mysql> insert into sales(order_date ,sale ,orders )
     values( '2020-04-28' ,  300 ,     10 ),
     ( '2020-04-29' ,  250 ,     15 ),
     ( '2020-04-30' ,  250 ,     12 ),
     ( '2020-05-01' ,  250 ,     14 ),
     ( '2020-05-02' ,  150 ,     20 ),
     ( '2020-05-03' ,  300 ,     21 ),
     ( '2020-05-04' ,  200 ,     15 ),
     ( '2020-05-05' ,  200 ,     17 ),
     ( '2020-05-06' ,  250 ,     12 ),
     ( '2020-05-07' ,  150 ,     15 ),
     ( '2020-05-08' ,  300 ,     12 ),
     ( '2020-05-09' ,  280 ,     18 ),
     ( '2020-05-10' ,  320 ,     16 ),
     ( '2020-05-11' ,  400 ,     15 ),
     ( '2020-05-12' ,  250 ,     13 ),
     ( '2020-05-13' ,  100 ,     16 ),
     ( '2020-05-14' ,  200 ,     18 );

mysql> select * from sales;
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-04-28 |  300 |     10 |
| 2020-04-29 |  250 |     15 |
| 2020-04-30 |  250 |     12 |
| 2020-05-01 |  250 |     14 |
| 2020-05-02 |  150 |     20 |
| 2020-05-03 |  300 |     21 |
| 2020-05-04 |  200 |     15 |
| 2020-05-05 |  200 |     17 |
| 2020-05-06 |  250 |     12 |
| 2020-05-07 |  150 |     15 |
| 2020-05-08 |  300 |     12 |
| 2020-05-09 |  280 |     18 |
| 2020-05-10 |  320 |     16 |
| 2020-05-11 |  400 |     15 |
| 2020-05-12 |  250 |     13 |
| 2020-05-13 |  100 |     16 |
| 2020-05-14 |  200 |     18 |
+------------+------+--------+

Bonuslæser:Sådan får du sidste rekord i hver gruppe

Sådan får du sidste 15 dages salgsdata i SQL

Her er SQL-forespørgslen for at få seneste 15 dages poster i MySQL

mysql> select * from sales
       where order_date> now() - INTERVAL 15 day;
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-04-30 |  250 |     12 |
| 2020-05-01 |  250 |     14 |
| 2020-05-02 |  150 |     20 |
| 2020-05-03 |  300 |     21 |
| 2020-05-04 |  200 |     15 |
| 2020-05-05 |  200 |     17 |
| 2020-05-06 |  250 |     12 |
| 2020-05-07 |  150 |     15 |
| 2020-05-08 |  300 |     12 |
| 2020-05-09 |  280 |     18 |
| 2020-05-10 |  320 |     16 |
| 2020-05-11 |  400 |     15 |
| 2020-05-12 |  250 |     13 |
| 2020-05-13 |  100 |     16 |
| 2020-05-14 |  200 |     18 |
+------------+------+--------+

I ovenstående forespørgsel bruger vi systemfunktionen now() for at få aktuel datotid. Derefter bruger vi INTERVAL-klausulen til at filtrere de poster, hvor ordre_dato falder efter et interval på 15 dage før nuværende dato og klokkeslæt.

Bonus Læs:Sådan får du sidste 12 måneders data i MySQL

Sådan får du tilmeldinger og nye brugere inden for de sidste 15 dage

På samme måde kan du også få nye tilmeldinger og brugere inden for de sidste 15 dage i MySQL. Lad os sige, at du har følgende tabel Users(user_id, date_joined) der indeholder tilmeldingsdata.

mysql> select * from users;
+-------------+---------+
| date_joined | user_id |
+-------------+---------+
| 2020-04-20  |     213 |
| 2020-04-22  |     214 |
| 2020-04-23  |     215 |
| 2020-04-24  |     216 |
| 2020-04-25  |     217 |
| 2020-04-26  |     218 |
| 2020-04-27  |     219 |
| 2020-04-28  |     220 |
| 2020-04-29  |     221 |
| 2020-05-30  |     222 |
| 2020-05-30  |     222 |
| 2020-05-01  |     223 |
| 2020-05-01  |     224 |
| 2020-05-02  |     225 |
| 2020-05-02  |     226 |
| 2020-05-03  |     226 |
| 2020-05-04  |     227 |
| 2020-05-04  |     228 |
| 2020-05-05  |     229 |
| 2020-05-05  |     230 |
| 2020-05-05  |     231 |
| 2020-05-05  |     232 |
| 2020-05-06  |     233 |
| 2020-05-08  |     234 |
+-------------+---------+

Bonus Læs:Sådan opretter du MySQL View

Her er SQL-forespørgslen for at få daglige nye tilmeldinger og brugere inden for de sidste 15 dage i MySQL.

mysql> select * from users
       where date_joined> now() - INTERVAL 15 day;
+-------------+---------+
| date_joined | user_id |
+-------------+---------+
| 2020-04-23  |     215 |
| 2020-04-24  |     216 |
| 2020-04-25  |     217 |
| 2020-04-26  |     218 |
| 2020-04-27  |     219 |
| 2020-04-28  |     220 |
| 2020-04-29  |     221 |
| 2020-05-30  |     222 |
| 2020-05-30  |     222 |
| 2020-05-01  |     223 |
| 2020-05-01  |     224 |
| 2020-05-02  |     225 |
| 2020-05-02  |     226 |
| 2020-05-03  |     226 |
| 2020-05-04  |     227 |
| 2020-05-04  |     228 |
| 2020-05-05  |     229 |
| 2020-05-05  |     230 |
| 2020-05-05  |     231 |
| 2020-05-05  |     232 |
| 2020-05-06  |     233 |
| 2020-05-08  |     234 |
+-------------+---------+

I ovenstående forespørgsel bruger vi systemfunktionen now() for at få aktuel datotid. Derefter bruger vi INTERVAL-klausulen til at filtrere de poster, hvor ordre_dato falder efter et interval på 15 dage før nuværende dato og klokkeslæt.

Det er det! Som du kan se, er det ret nemt at få de seneste 15 dages poster i MySQL ved hjælp af INTERVAL-klausulen.

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. Databasekontrolpunkter i SQL Server

  2. Hvor er mine patches?

  3. SQLite UNDTAGET operatør

  4. Installer webserver i Windows XP med Apache2, PHP5 og MySQL4 – del 4