Bases de Datos > SQL Server

 Equivalente A Limit

<< < (2/4) > >>

ElNapster:
No se si te sirva esto pero intenta hacer como que una funcion que te vaya como que incrementando tu resultado .... ahora no tengo mucho tiempo para resolvertelo pero con esto creo que te va a servir ..(espero  :blink: )


--- Código: Text ---WAITFOR DELAY '00:00:02'select top 5 * from t_trade_ticket 
Ya tu funcion tendra que manera el top (resultados) y el tiempo de espera, para que cuando el tiempo se cumpla te muestre los siguientes registros.. y asi sucesivamente....
 :comp:

Mollense:
Me parece que lo que Lencho quiere es obtener los primeros n registros a partir de la posición k como permite hacerlo LIMIT n,k.-

No conozco la forma pero si tu tabla tiene una clave única numérica (id por ejemplo) podrías hacer uso del WHERE y el ORDER BY.


--- Código: Text ---SELECT TOP 5 * FROM Tabla WHERE id &#62; ultimoId ORDER BY id 
...o algo así.-

PD: deberías guardar el último id después de cada consulta.-

ElNapster:
mmmm bueno, pero me parece que el quiere que vayan apereciendo de apoco osea de primero los primeros 1 al 5 luego del 6 al 10, 11 al 15  pero en el mismo QUERY .. eso creo..... :unsure:  tengo como que una solucion pero seria algo complicada... pero aun no la he analizado bien...  :ph34r: haber que tan optima la puedo llevar... :P

lencho:

--- Cita de: "Angel_K_ido" --- Me parece que lo que Lencho quiere es obtener los primeros n registros a partir de la posición k como permite hacerlo LIMIT n,k.-

No conozco la forma pero si tu tabla tiene una clave única numérica (id por ejemplo) podrías hacer uso del WHERE y el ORDER BY.


--- Código: Text ---SELECT TOP 5 * FROM Tabla WHERE id &#62; ultimoId ORDER BY id 
...o algo así.-

PD: deberías guardar el último id después de cada consulta.-
--- Fin de la cita ---
Sip, eso es lo que quiero.
Segun el articulo solo PostgreSQL  y MySQL ofrecen esa funcion.

Buena idea, aunque solo serviria para campos numericos, y no asi por campos de tipo cadena.

BYTE

Mollense:

--- Cita de: "lencho" ---
--- Cita de: "Angel_K_ido" --- Me parece que lo que Lencho quiere es obtener los primeros n registros a partir de la posición k como permite hacerlo LIMIT n,k.-

No conozco la forma pero si tu tabla tiene una clave única numérica (id por ejemplo) podrías hacer uso del WHERE y el ORDER BY.


--- Código: Text ---SELECT TOP 5 * FROM Tabla WHERE id &#62; ultimoId ORDER BY id 
...o algo así.-

PD: deberías guardar el último id después de cada consulta.-
--- Fin de la cita ---
Sip, eso es lo que quiero.
Segun el articulo solo PostgreSQL  y MySQL ofrecen esa funcion.

Buena idea, aunque solo serviria para campos numericos, y no asi por campos de tipo cadena.

BYTE
--- Fin de la cita ---
Serviría para realizar paginación. La única restricción es que debe existir un campo numérico (Sería bueno un Autonumérico) por el cual ordenarías la consulta. Por lo demás si quisieras por ejemplo los 10 primeros clientes cuya localidad sea (Pozo del Molle  :P ) harías:

--- Código: Text ---SELECT TOP 10 * FROM CLIENTES WHERE Localidad='Pozo del Molle' ORDER BY codigoCliente;  y si quisieras los 10 siguientes (suponiendo que el codigoCliente del último registro es 10 sería:

--- Código: Text ---SELECT TOP 10 * FROM CLIENTES WHERE Localidad='Pozo del Molle' AND codigoCliente&#62;10 ORDER BY codigoCliente; 
Listo  :comp:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa