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!