Hola, puedes hacer algo más simple.
select * from tabla
where date_format(campo,'%m')=date_format(camp_a_evaluar ,'%m')
order by fecha desc;
Esa función date_format te manda los valores de acuerdo al formato que deseas visualizar una fecha. En este caso estoy comparando los meses, si es que son iguales, que me visualice.
Revisa este link, te va a ayudar mucho, sobre todo para poder utilizar mejor DATE_FORMAT:
http://dev.mysql.com/doc/refman/5.0/...functions.html
Saludos....