Al final siguiendo el consejo de BrujoNic lo hice por rango de edad:
Cita: SELECT *
FROM user_datos_usuarios
WHERE (
(
YEAR( CURRENT_DATE ) - YEAR( fecha_nacimiento )
) - ( RIGHT( CURRENT_DATE, 5 ) < RIGHT( fecha_nacimiento, 5 ) )
) >= '28'
AND (
(
YEAR( CURRENT_DATE ) - YEAR( fecha_nacimiento )
) - ( RIGHT( CURRENT_DATE, 5 ) < RIGHT( fecha_nacimiento, 5 ) )
) <= '29'
LIMIT 0 , 30
Como busca por rango tengo que calcular la edad 2 veces:
¿cuál es el costo de rendimiento en el motor al hacer dos veces el calculo?
¿hay otra forma más eficiente?
gracias y saludos.