Crea un campo di tipo DATE (od equivalente) su cui si possano applicare le funzioni di data:

Vorrei estrarre tutti gli eventi dalla tabella, ma fare in modo di ordinarli per mese.
ORDER BY YEAR(data_evento), MONTH(data_evento)

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 MONTH(data_evento)=MONTH(CURDATE())

oppure all'ultima settimana
WHERE YEAR(data_evento)=YEAR(CURDATE()) AND WEEK(data_evento)=WEEK(CURDATE())

oppure se intendi negli ultimi 7 giorni:

WHERE data_evento>=DATE_SUB(CURDATE(), INTERVAL 7 DAY);