Crea un campo di tipo DATE (od equivalente) su cui si possano applicare le funzioni di data:
ORDER BY YEAR(data_evento), MONTH(data_evento)Vorrei estrarre tutti gli eventi dalla tabella, ma fare in modo di ordinarli per mese.
WHERE YEAR(data_evento)=YEAR(CURDATE()) AND MONTH(data_evento)=MONTH(CURDATE())Inoltre mi piacerebbe che per alcuni si possa inserire una clausola che limita l'estrazione all'ultimo mese
WHERE YEAR(data_evento)=YEAR(CURDATE()) AND WEEK(data_evento)=WEEK(CURDATE())oppure all'ultima settimana
oppure se intendi negli ultimi 7 giorni:
WHERE data_evento>=DATE_SUB(CURDATE(), INTERVAL 7 DAY);