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!