Ver Mensaje Individual
  #12 (permalink)  
Antiguo 03/06/2013, 09:05
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Seleccionar desde una fecha hacia abajo

Hola de nuevo Dylanrv:

Cita:
Sólo hay un detalle, en vez de ser a la fecha anterior, ha de ser a la posterior, es decir, si hay 16 registros ha de sacar los 12 últimos.
Sinceramente con esta explicación me dejas con más dudas que respuestas ... si esto es lo que quieres ENTONCES DE NADA TE SIRVE MANEJAR UN RANGO DE FECHAS... simplemente con poner la fecha SUPERIOR la consulta debe funcionar como lo pides. mira, chequemos con los datos de ejemplo y con la consulta:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+------------+
  3. | id   | fecha      |
  4. +------+------------+
  5. |    1 | 2013-05-01 |
  6. |    2 | 2013-05-02 |
  7. |    3 | 2013-05-03 |
  8. |    4 | 2013-05-04 |
  9. |    5 | 2013-05-05 |
  10. |    6 | 2013-05-06 |
  11. |    7 | 2013-05-07 |
  12. |    8 | 2013-05-08 |
  13. |    9 | 2013-05-09 |
  14. |   10 | 2013-05-10 |
  15. |   11 | 2013-05-11 |
  16. |   12 | 2013-05-12 |
  17. |   13 | 2013-05-13 |
  18. |   14 | 2013-05-14 |
  19. |   15 | 2013-05-15 |
  20. |   16 | 2013-05-16 |
  21. +------+------------+
  22. 16 rows in set (0.00 sec)

Ahora ponemos las mismas condiciones que puse de ejemplo:

Código:
Si ponemos como fechas los dos límites (2013-05-01 y 2013-05-16), existen 16 registros, el resultado deberá mostrar los últimos 12:
Código MySQL:
Ver original
  1. mysql> SET @fechaSuperior = '2013-05-16';
  2. Query OK, 0 rows affected (0.00 sec)
  3. mysql> SELECT * FROM tabla WHERE fecha <= @fechaSuperior
  4.     -> ORDER BY fecha DESC
  5.     -> LIMIT 12;
  6. +------+------------+
  7. | id   | fecha      |
  8. +------+------------+
  9. |   16 | 2013-05-16 |
  10. |   15 | 2013-05-15 |
  11. |   14 | 2013-05-14 |
  12. |   13 | 2013-05-13 |
  13. |   12 | 2013-05-12 |
  14. |   11 | 2013-05-11 |
  15. |   10 | 2013-05-10 |
  16. |    9 | 2013-05-09 |
  17. |    8 | 2013-05-08 |
  18. |    7 | 2013-05-07 |
  19. |    6 | 2013-05-06 |
  20. |    5 | 2013-05-05 |
  21. +------+------------+
  22. 12 rows in set (0.00 sec)

Código:
Si ponemos como limites (2013-05-03 y 2013-05-14), existen EXACTAMENTE 12 REGISTROS, por lo tanto muestra esos:
Código MySQL:
Ver original
  1. mysql> SET @fechaSuperior = '2013-05-14';
  2. Query OK, 0 rows affected (0.00 sec)
  3.  
  4. mysql> SELECT * FROM tabla WHERE fecha <= @fechaSuperior
  5.     -> ORDER BY fecha DESC
  6.     -> LIMIT 12;
  7. +------+------------+
  8. | id   | fecha      |
  9. +------+------------+
  10. |   14 | 2013-05-14 |
  11. |   13 | 2013-05-13 |
  12. |   12 | 2013-05-12 |
  13. |   11 | 2013-05-11 |
  14. |   10 | 2013-05-10 |
  15. |    9 | 2013-05-09 |
  16. |    8 | 2013-05-08 |
  17. |    7 | 2013-05-07 |
  18. |    6 | 2013-05-06 |
  19. |    5 | 2013-05-05 |
  20. |    4 | 2013-05-04 |
  21. |    3 | 2013-05-03 |
  22. +------+------------+
  23. 12 rows in set (0.00 sec)

Código:
Si ponemos como limites (2013-05-10 y 2013-05-16) sólo existen 7 registros, por lo que se mostrarán esos 7 registros más los 5 registros más cercanos al límite inferior:
Código MySQL:
Ver original
  1. mysql> SET @fechaSuperior = '2013-05-16';
  2. Query OK, 0 rows affected (0.00 sec)
  3.  
  4. mysql> SELECT * FROM tabla WHERE fecha <= @fechaSuperior
  5.     -> ORDER BY fecha DESC
  6.     -> LIMIT 12;
  7. +------+------------+
  8. | id   | fecha      |
  9. +------+------------+
  10. |   16 | 2013-05-16 |
  11. |   15 | 2013-05-15 |
  12. |   14 | 2013-05-14 |
  13. |   13 | 2013-05-13 |
  14. |   12 | 2013-05-12 |
  15. |   11 | 2013-05-11 |
  16. |   10 | 2013-05-10 |
  17. |    9 | 2013-05-09 |
  18. |    8 | 2013-05-08 |
  19. |    7 | 2013-05-07 |
  20. |    6 | 2013-05-06 |
  21. |    5 | 2013-05-05 |
  22. +------+------------+
  23. 12 rows in set (0.00 sec)

Es decir DE NADA TE SIRVE LA FECHA INFERIOR... es completamente inútil, no la necesitas. Si esto no te sirve entonces el problema está en otro lado... tal como lo comenta gnzsoloyo, a nosotros de nada nos sirve la consulta como la pones, pues no tenemos el contexto de todas las tablas, ni de los datos... trata de explicar cuál es tu situación, si es necesario, postea la estructura de todas tus tablas y pon algunos datos de ejemplo... atiende todas las observaciones que te puso gnzsoloyo y con gusto tratamos de ayudarte.

Saludos
Leo.