Ver Mensaje Individual
  #21 (permalink)  
Antiguo 01/08/2011, 12:08
emiajsiul
 
Fecha de Ingreso: julio-2011
Mensajes: 12
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Operacion con campo anterior de una columna

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Mandale un LIMIT 1, 10 y listo...
Ya lo intente, pero lo que pasa esque me va a recorrer el registro y esta bien, pero como @km1 no esta definido a 0 toma un valor raro que le resta al primer registro de la consulta, ya se aun LIMIT 1,10 O LIMIT 5,10 No importa cuanto lo limite el primer registro siempre me sale con un valor que no es:

CODIGO:

Código MySQL:
Ver original
  1.             VN_UNIDAD UNIDAD,
  2.                         VNOM_EMP EMPLEADO,
  3.                         FOLIO,
  4.                         KM,
  5.             LITROS,
  6.             IF(@kml=0, @kml:=KM, @kml) KM_MAYOR,
  7.                         @KML2:=(@kml-KM) RECORRIDO,
  8.                         (@kml:= KM) KM_MENOR,
  9.                         IF(@X=0, @X:= LITROS, @X) LITRO_MAYOR,
  10.                             (@KML2/@X) CONSUMO,
  11.                         (@X:= LITROS) LITRO_MENOR        
  12.             FROM VALES
  13.                                  WHERE VN_UNIDAD = 'DR 031' AND KM > 10
  14. LIMIT 10;

Ejemplo: con LIMIT 1,10

Código MySQL:
Ver original
  1. 262245.000  35.388  260025  -2220   262245.000  40.298  -55.0895826095588   35.388
  2. 261911.000  43.668  262245  334 261911.000  35.388  9.43822764779021    43.668
  3. 261504.000  33.349  261911  407 261504.000  43.668  9.32032609691307    33.349
  4. 261253.000  43.668  261504  251 261253.000  33.349  7.52646256259558    43.668
  5. 261185.000  42.660  261253  68  261185.000  43.668  1.55720436017221    42.660
  6. 260842.000  33.898  261185  343 260842.000  42.66   8.04031879981247    33.898
  7. 260587.000  38.216  260842  255 260587.000  33.898  7.52256770310933    38.216
  8. 260281.000  35.269  260587  306 260281.000  38.216  8.00711743772242    35.269
  9. 260025.000  40.298  260281  256 260025.000  35.269  7.25849896509683    40.298
  10. 259621.000  43.511  260025  404 259621.000  40.298  10.0253114298476    43.511

LIMIT 10

Código MySQL:
Ver original
  1. 262522.000  37.575  259621  -2901   262522.000  43.511  -66.672795385075    37.575
  2. 262245.000  35.388  262522  277 262245.000  37.575  7.37192282102462    35.388
  3. 261911.000  43.668  262245  334 261911.000  35.388  9.43822764779021    43.668
  4. 261504.000  33.349  261911  407 261504.000  43.668  9.32032609691307    33.349
  5. 261253.000  43.668  261504  251 261253.000  33.349  7.52646256259558    43.668
  6. 261185.000  42.660  261253  68  261185.000  43.668  1.55720436017221    42.660
  7. 260842.000  33.898  261185  343 260842.000  42.66   8.04031879981247    33.898
  8. 260587.000  38.216  260842  255 260587.000  33.898  7.52256770310933    38.216
  9. 260281.000  35.269  260587  306 260281.000  38.216  8.00711743772242    35.269
  10. 260025.000  40.298  260281  256 260025.000  35.269  7.25849896509683    40.298

Como se puede observar los resultados correctos siempre inician en el registro 2 del regreso de la consulta.

Saludos