Código SQL:
Ver originalSELECT * FROM(
SELECT pac_rut, pac_nombre, pac_sexo, MONTH( CURDATE( ) ) - MONTH( pac_fechanac ) +12 * IF( MONTH( CURDATE( ) ) < MONTH( pac_fechanac ) , 1, IF( MONTH( CURDATE( ) ) = MONTH( pac_fechanac ) , IF( DAY( CURDATE( ) ) < DAY( pac_fechanac ) , 1, 0 ) , 0 ) ) - IF( MONTH( CURDATE( ) ) <> MONTH( pac_fechanac ) , (
DAY( CURDATE( ) ) < DAY( pac_fechanac ) ) , IF( DAY( CURDATE( ) ) < DAY( pac_fechanac ) , 1, 0 )
) AS pers_meses, (
DAY( CURDATE( ) ) - DAY( pac_fechanac ) +30 * ( DAY( CURDATE( ) ) < DAY( pac_fechanac ) )
) AS pers_dias, (
YEAR( FROM_DAYS( DATEDIFF( NOW( ) , pac_fechanac ) ) )
) AS anos
FROM paciente
ORDER BY pers_meses DESC
LIMIT 0 , 30) AS t1 WHERE pac_sexo = 'Masculino' AND pers_meses = 9