Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/02/2009, 05:18
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 en un SELECT con LIMIT y ORDER

He probado tu modelo y los datos del mismo (haciendo la salvedad de haber eliminado un campo en el INSERT, porque siendo AUTO_ICREMENT no es necesario ponerlo).
Las sentencias han sido así:
Código sql:
Ver original
  1. CREATE TABLE `partes` (
  2. `id_partes` INT(11) NOT NULL AUTO_INCREMENT,
  3. `id_usuario` INT(11) NOT NULL DEFAULT '0',
  4. `fecha` DATE DEFAULT NULL,
  5. PRIMARY KEY (`id_partes`),
  6. KEY `fecha` (`fecha`),
  7. KEY `id_usuario` (`id_usuario`)
  8. ) ENGINE=MyISAM;
Código sql:
Ver original
  1. INSERT INTO `partes` (`id_usuario`, `fecha`) VALUES
  2. (29,'2009-01-05'),
  3. (29,'2009-01-06'),
  4. (29,'2009-01-07'),
  5. (29,'2009-01-08'),
  6. (29,'2009-01-09'),
  7. (29,'2009-01-10'),
  8. (29,'2009-01-11'),
  9. (29,'2009-01-12'),
  10. (29,'2009-01-13');
Código sql:
Ver original
  1. SELECT id_partes, fecha, id_usuario
  2. FROM partes
  3. WHERE (id_usuario=29 AND fecha BETWEEN '2009-01-05' AND '2009-07-05')
  4. ORDER BY fecha LIMIT 1;
El resultado de la última ha sido correcto y los datos son los esperados (después de haber resuelto un problema de sintaxis que tenía el código que enviaste pues la línea del campo FECHA estaba sin la coma final).

En principio, la sentencia debería funcionar correctamente, ya que los datos devueltos se ajustan a lo que deseas (un solo registro). La única cosa que me quedaría por resolver sería saber si hay algún problema con la versión de MySQL que estás usando en la prueba y que no nos has indicado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)