mysql – SQL for last month and last quarter

Question:

Hi. I would like some help here. I need to get the records:
MySQL bank
1) last month 2) last two months 3) current year

SELECT id, data, lote, modelo, qtd FROM controle_diario WHERE modelo like ?

The table is very simple: id is auto-increment, batch is varchar, model is varchar, and qtd is int. Example:

id - data - modelo - qtd  
1 - 2017-04-20 - 10001 - 100  
2 - 2017-04-22 - 10002 - 10  
3 - 2017-05-10 - 100010 - 30  
4 - 2017-05-15 - 100020 - 60  
5 - 2017-05-16 - 100060 - 70  
6 - 2017-05-20 - 100010 - 100

Thanks

Answer:

Last month:

SELECT id, data, lote, modelo, qtd FROM controle_diario *WHERE MONTH(data)=(MONTH(NOW())-1)*

Current year:

SELECT id, data, lote, modelo, qtd FROM controle_diario WHERE YEAR(data)=YEAR(NOW())

Correction proposed by Mauro Lacerda for the Last Month query:

WHERE MONTH(data)=MONTH(ADDDATE(NOW(), INTERVAL -1 MONTH)) AND YEAR(data)=YEAR(ADDDATE(NOW(), INTERVAL -1 MONTH))
Scroll to Top