Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/03/2012, 01:17
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Obtener registros en un rango de datos

El orden de entrada en una bbdd relacional es irelevante, luego por mucho que el insert este ordenado no puedes fiarte de que cuando se lea la bbdd se vaya a leer en el mismo orden.

Luego tu intento de agregar un numerador a los registros no tienes ninguna garantia de que funcione.

Para que funcionara deberías usar un ORDER BY para indicarle al motor en que orden quieres los registros....

apasar de ello creo que te estas complicando un poco la vida,


Código MySQL:
Ver original
  1. SELECT @rownum:=@rownum+1 'num',
  2.              producto,
  3.              YEAR,
  4.              mes,
  5.              semana
  6. FROM precios , (SELECT @rownum:=0) r
  7. WHERE YEAR>=YYYY1 AND YEAR<=YYYY2
  8.         AND mes>=MM1 AND mes<=MM2
  9.         AND semana>=SS1 AND semana<=SS2
  10. ORDER BY YEAR,mes,semana,producto;

donde

YYYYx son los años buscados (pueden ser iguales)
MMx idem para el mes
SSx idem para la semana

Si no lo necesitas puedes quitar el numerador...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.