No compliques las cosas más de lo necesario.
Con tu consulta lo que estabas pidiendo era que contara aquellos registros en los que la fecha en "extra_info" menos 30 días fuese igual o menos al valor de "extra_info"... O sea, algo que no tenía sentido.
Lo que necesitas es en realidad contar las visitas en que la fecha de "extra_info" esté entre los últimos 30 días.
Esto se puede lograr de dos formas. Una, restando el valor de "extra_info" a la fecha actual:
Código SQL:
Ver originalSELECT COUNT(id) Visitas
FROM usuarios
WHERE TIMESTAMPDIFF(DAY, STR_TO_DATE(extra_info,'%d-%m-%Y %T'),CURDATE()) <= 30;
Y la otra (más estándar) es contar las que se encuentren entre 30 días atrás y hoy:
Código SQL:
Ver originalSELECT COUNT(id) Visitas
FROM usuarios
WHERE STR_TO_DATE(extra_info,'%d-%m-%Y %T')
BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND CURDATE();