Salve a tutti,
devo prelevare dal db i record degli ultimi 2 mesi.
Uso questa query ma non funziona:
Sapete darmi una mano?codice:SELECT * FROM tbl WHERE DATE_SUB(date, INTERVAL 2 MONTH) AND ...
Grazie
Salve a tutti,
devo prelevare dal db i record degli ultimi 2 mesi.
Uso questa query ma non funziona:
Sapete darmi una mano?codice:SELECT * FROM tbl WHERE DATE_SUB(date, INTERVAL 2 MONTH) AND ...
Grazie
select * from tabella where campo_data >= curdate() - interval 2 month.
Grazie, a me servirebbe però che prendesse in esame gli ultimi 2 mesi solari, non dal giorno attuale.Originariamente inviato da nicola75ss
select * from tabella where campo_data >= curdate() - interval 2 month.
Mi spiego: se la query la eseguo oggi, mi deve restituire tutti i record di Gennaio e Dicembre (dal 1 al 31 di entrambi i mesi).
codice:select * from tabella where extract(year_month from campo_data) between extract(year_month from curdate()-interval 2 month) and extract(year_month from curdate()-interval 1 month)
Qualcosa del tipo:Originariamente inviato da nicola75ss
codice:select * from tabella where extract(year_month from campo_data) between extract(year_month from curdate()-interval 2 month) and extract(year_month from curdate()-interval 1 month)
?codice:select * from tabella where month(campo_data) >= month(curdate()) - interval 2 month
In pratica il valore dei 2 mesi non è standard, ma variabile, quindi la tua soluzione non sarebbe fattibile se mi servissero i record degli ultimi 6/7 mesi
Originariamente inviato da kylnas1
In pratica il valore dei 2 mesi non è standard, ma variabile, quindi la tua soluzione non sarebbe fattibile se mi servissero i record degli ultimi 6/7 mesi
Al posti di 1 e 2 metti i numeretti che ti servono.![]()
Ho risolto in questo modo:
Grazie per l'aiuto...codice:SELECT * FROM tbl WHERE ( EXTRACT(YEAR_MONTH FROM campo_date) >= EXTRACT(YEAR_MONTH FROM curdate() - INTERVAL n_mesi) )![]()