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

Come ottenere i dati dell'ultimo mese in MySQL

A volte potrebbe essere necessario recuperare il record del mese scorso o ottenere righe dal mese precedente. Ecco come ottenere i dati dell'ultimo mese in MySQL.

Come ottenere i dati dell'ultimo mese in MySQL

Ecco i passaggi per ottenere i dati dell'ultimo mese in MySQL.

Supponiamo che tu abbia la seguente tabella ordini(id, data_ordine, importo) in MySQL che contiene gli importi degli ordini giornalieri.

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

mysql> insert into orders(id,order_date, amount)
     values(1,'2020-07-25',250),
     (2,'2020-07-26',350),
     (3,'2020-07-27',200),
     (4,'2020-07-28',150),
     (5,'2020-07-29',350),
     (6,'2020-07-30',300),
     (7,'2020-07-31',250),
     (8,'2020-08-01',550),
     (9,'2020-08-02',350),
     (10,'2020-08-03',250),
     (11,'2020-08-04',200);

mysql> select * from orders;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-25 |    250 |
|    2 | 2020-07-26 |    350 |
|    3 | 2020-07-27 |    200 |
|    4 | 2020-07-28 |    150 |
|    5 | 2020-07-29 |    350 |
|    6 | 2020-07-30 |    300 |
|    7 | 2020-07-31 |    250 |
|    8 | 2020-08-01 |    550 |
|    9 | 2020-08-02 |    350 |
|   10 | 2020-08-03 |    250 |
|   11 | 2020-08-04 |    200 |
+------+------------+--------+

Bonus Leggi:Come copiare la tabella in MySQL

Come ottenere il record dell'ultimo mese in MySQL

Ecco la query SQL per ottenere il record dell'ultimo mese in MySQL

mysql> select * from orders
     where month(order_date)=month(now())-1;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2020-07-25 |    250 |
|    2 | 2020-07-26 |    350 |
|    3 | 2020-07-27 |    200 |
|    4 | 2020-07-28 |    150 |
|    5 | 2020-07-29 |    350 |
|    6 | 2020-07-30 |    300 |
|    7 | 2020-07-31 |    250 |
+------+------------+--------+

Nella query precedente, selezioniamo solo quei record il cui mese è uno in meno rispetto al mese della data corrente. Otteniamo il numero di date del mese usando la funzione MONTH(). Otteniamo la data corrente usando la funzione ORA().

Secondo i nostri dati, poiché il mese corrente è agosto, otteniamo i record del mese precedente, ovvero luglio.

Si spera che ora sia possibile ottenere facilmente i dati dell'ultimo mese in MySQL.

Bonus Leggi:Come aggiungere il vincolo NOT NULL in MySQL

Allo stesso modo, se desideri ottenere i record degli ultimi un mese, ovvero gli ultimi 30 giorni, ecco la query SQL relativa.

select * from orders
where order_date>now() - interval 1 month;

Nella query precedente, selezioniamo le righe dopo l'intervallo di 1 mese passato. Usiamo la clausola INTERVAL e la funzione NOW() per ottenere la data di 1 mese nel passato, dalla data presente.

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