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

Come ottenere i record degli ultimi 15 giorni in MySQL

A volte potrebbe essere necessario ottenere le righe degli ultimi 15 giorni in MySQL. Ecco come ottenere i record degli ultimi 15 giorni in MySQL. Puoi anche usarlo per ottenere il numero di utenti registrati negli ultimi 15 giorni o selezionare i dati sulle vendite degli ultimi 15 giorni per ulteriori analisi.

Come ottenere i record degli ultimi 15 giorni in MySQL

Ecco i passaggi per ottenere i record degli ultimi 15 giorni in MySQL.

Supponiamo che tu abbia la seguente tabella  vendite(data_ordine, vendita, ordini) che contiene il numero giornaliero di ordini e l'importo della vendita.

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

Bonus Leggi:Come ottenere l'ultimo record in ogni gruppo

Come ottenere i dati sulle vendite degli ultimi 15 giorni in SQL

Ecco la query SQL per ottenere i record degli ultimi 15 giorni in 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 |
+------------+------+--------+

Nella query precedente, utilizziamo la funzione di sistema now() per ottenere la data e l'ora corrente. Quindi utilizziamo la clausola INTERVAL per filtrare quei record in cui order_date cade dopo un intervallo di 15 giorni prima della data e ora attuale.

Bonus Leggi:Come ottenere i dati degli ultimi 12 mesi in MySQL

Come ottenere registrazioni e nuovi utenti negli ultimi 15 giorni

Allo stesso modo, puoi anche ottenere nuove iscrizioni e utenti negli ultimi 15 giorni in MySQL. Supponiamo che tu abbia la seguente tabella Utenti(user_id, date_joined) che contiene i dati di registrazione.

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 Lettura:come creare una vista MySQL

Ecco la query SQL per ottenere ogni giorno nuove iscrizioni e utenti negli ultimi 15 giorni in 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 |
+-------------+---------+

Nella query precedente, utilizziamo la funzione di sistema now() per ottenere la data e l'ora corrente. Quindi utilizziamo la clausola INTERVAL per filtrare quei record in cui order_date cade dopo un intervallo di 15 giorni prima della data e ora attuale.

Questo è tutto! Come puoi vedere, è abbastanza facile ottenere i record degli ultimi 15 giorni in MySQL usando la clausola INTERVAL.

Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!