Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/05/2015, 09:14
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: 17 años
Puntos: 2658
Respuesta: Duda con ASC LIMIT

Cita:
Esta base B, el ultimo insert es 384, por lo tal debería devolverme resultados según entiendo.
No, no estás entendiendo el uso de LIMIT....

Es una pregunta para leer el manual, pero te lo explico así:
1) LIMIT no es una clausula de ASC, ni nada parecido. ASC sólo aplica a ORDER BY, y LIMIT es una clausula separada que debe ser la última clausula de la sentencia, si es que la necesitas.
2) LIMIT tiene dos parámetris, uno opcional y otro mandatorio:
Código MySQL:
Ver original
  1. LIMIT [offset,] numberRows
"NumberRow", en este caso, es el numero de registros que se devolverá, y si no se encuentra el offset, serán los primeros numberRow registros:
Código MySQL:
Ver original
  1. ...
devuelve 5 registros

Si se presenta el parámetro que acá indico como "offset", representa la cantidad de registros que se contarán antes de comenzar a tomar registros.
Código MySQL:
Ver original
  1. ...
  2. LIMIT 12, 5
desplaza el contador interno de registros 12 posiciones y devuelve los registros del 13 en adelante.
¿Se entiende?

Cuando pones en la sentencia
Código MySQL:
Ver original
  1. ...
  2. LIMIT 382, 5
le estás pidiendo que descarte los primeros 382 regoistros que obtiene, y te devuelva los cinco siguientes.

Ahora bien, no solo eso está mal, además debes tener en cuenta que los registros que verificará, en el caso de tener una columna autoincrementada, no son los numeros de esa columna, sino los registros devueltos por la consulta.
Esto quiere decir que si se hubiesen eliminado 150 registros intermedios entre el 1 y el 382, la consulta devolvería recién aquellos que existan, y verás que el primero de los cinco registros comenzará con 533...

Nota final: Recuerda lo que dije: ASC no tiene nada que ver con LIMIT. Lo que sí puede pasar es que el resultado del LIMIT de la consulta en general quede afectado por el ORDER BY...
Pero ese es otro tema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)