Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/01/2010, 21:02
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema DATE en visita últimos 30 días

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 original
  1. SELECT COUNT(id) Visitas
  2. FROM usuarios
  3. 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 original
  1. SELECT COUNT(id) Visitas
  2. FROM usuarios
  3. WHERE STR_TO_DATE(extra_info,'%d-%m-%Y %T')
  4.       BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND CURDATE();
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)