Foros del Web » Programando para Internet » ASP Clásico »

Establecer rangos...

Estas en el tema de Establecer rangos... en el foro de ASP Clásico en Foros del Web. Hola amigos... me gusraria hacer una consulta especial para compaginar paginas, pero no se como hacelo, me refiero a que si en SQL se puede ...
  #1 (permalink)  
Antiguo 23/11/2005, 08:52
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 20 años, 3 meses
Puntos: 11
Establecer rangos...

Hola amigos... me gusraria hacer una consulta especial para compaginar paginas, pero no se como hacelo, me refiero a que si en SQL se puede establecer rangos.. como por ejemplo seleccionar del registro 5 al 20, algo asi como em mysql... en mysql se le pone LIMIT 5,20 . pero en sql como es???

Saludos.
  #2 (permalink)  
Antiguo 23/11/2005, 09:07
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
No existe la funcion LIMIT para SQL, lo que necesitas es paginar un recordset, en el post de clases, funciones y subrutinas, me parece que hay una clase para hacer paginacion.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 23/11/2005, 10:51
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 20 años, 3 meses
Puntos: 11
excelente,,, muchas gracias.. me sirve de mucho..

pero me quedo con la duda... en SQL no puedo hacer una consulta de modo que me arroge del registro 20 al 25 o del 50 al 1000....

necesito tambien hacer una consulta que haga lo siguiente...

Ordenar a los alummnos por su calificacion en forma descendente... (eso es facil)

Luego la cantidad de alummnos lo divido entre 3 y si hay decimales en la divicion se redondea....(divido en 3 grupos a los alummnos)

Al final debo coger a los alumnos del grupo 2 y mostrarlos...

Ejem:

Tengo 3000 alumnos

y los separo en 3 grupos de 1000


el resultado final y loq ue se quiere es mostrar a todos los alummnos del grupo 2.. es decir a los que estan desde el registro 1000 al 2000

sera posible eso???
  #4 (permalink)  
Antiguo 23/11/2005, 11:03
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
yo lo haría así, no sé si hay otra manera:

iInferior = 1000
iSuperior = 2000
recordset.move(iInferior)
while iInferior = iSuperior
response.write recordset("alumno") & "<br>"
iInferior = iInferior + 1
recordset.movenext
wend

lo que está en itálicas no recuerdo si se escribe exactamente así
__________________
...___...
  #5 (permalink)  
Antiguo 23/11/2005, 11:04
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 5 meses
Puntos: 144
Si tienes un campo id autonumérico, podrías hacer la consulta con la cláusula WHERE para que te devuelva los registros con las id's >0 y <1000 (por ejemplo para el primer bloque de registros).

Eso sí, requeriría que tus id's no tuviesen saltos, y la id siguiente fuese la id anterior+1, ya que en caso contrario (si hay id's eliminadas, por ej: 1,2,3,5,8, etc...), también te funcionaría, pero los bloques ya no serían de 1000 en 1000.
  #6 (permalink)  
Antiguo 23/11/2005, 13:51
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 20 años, 3 meses
Puntos: 11
Cita:
yo lo haría así, no sé si hay otra manera:

iInferior = 1000
iSuperior = 2000
recordset.move(iInferior)
while iInferior = iSuperior
response.write recordset("alumno") & "<br>"
iInferior = iInferior + 1
recordset.movenext
wend

lo que está en itálicas no recuerdo si se escribe exactamente así
Es una buena opcion para ASP.. pero se me hace medio lento... por eso buscaba una alternativa directa con SQL...


Cita:
Si tienes un campo id autonumérico, podrías hacer la consulta con la cláusula WHERE para que te devuelva los registros con las id's >0 y <1000 (por ejemplo para el primer bloque de registros).

el ID es autonumerico, pero como mencioné los datos se ordenan descentemente por calificacion; lo cual impide usar esa validacion...

Un Abrazo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:25.