¿como traer X registros de una tabla?

28/11/2003 - 16:07 por ofl666 | Informe spam
Buenas...
me explico, tengo una consulta sql tal que asi:
SELECT * FROM Clientes
estoy trabajando con una BBDD gigante por lo que la
consulta me tarda un rato considerable, cosa inaceptable.
A raiz de esto quiero hacer la consulta en varias partes
(que luego ya me las ingeniare para meterlas en hilos
diferentes)¿como puedo indicar en SQL "traeme los 100
primeros registros de la tabla Clientes", no me valen
soluciones del tipo SELECT * FROM Clientes WHERE
CodigoCliente < 100, ya que los códigos de cliente pueden
estar todos seguidos o no estarlo.
Ufffff espero haberme explicado.
Muchas gracias peña.

Preguntas similare

Leer las respuestas

#1 Adrian
28/11/2003 - 16:19 | Informe spam
Probá con SELECT TOP 100 FROM Clientes

Adrian

"" wrote in message
news:000001c3b5c1$4c98e530$
Buenas...
me explico, tengo una consulta sql tal que asi:
SELECT * FROM Clientes
estoy trabajando con una BBDD gigante por lo que la
consulta me tarda un rato considerable, cosa inaceptable.
A raiz de esto quiero hacer la consulta en varias partes
(que luego ya me las ingeniare para meterlas en hilos
diferentes)¿como puedo indicar en SQL "traeme los 100
primeros registros de la tabla Clientes", no me valen
soluciones del tipo SELECT * FROM Clientes WHERE
CodigoCliente < 100, ya que los códigos de cliente pueden
estar todos seguidos o no estarlo.
Ufffff espero haberme explicado.
Muchas gracias peña.
Respuesta Responder a este mensaje
#2 Juan Carlos Paramá
28/11/2003 - 16:20 | Informe spam
Hola,

SELECT * FROM Clientes



prueba con

SELECT TOP 150 * FROM Clientes

Saludos,

Juan Carlos Paramá
Respuesta Responder a este mensaje
#3 Horacio
28/11/2003 - 17:16 | Informe spam
Pero

SELECT TOP 150 * FROM Cliente

trae los primeros 150 registros. ¿Cómo traigo los segundos 150 registros

Horacio
Respuesta Responder a este mensaje
#4 Miguel Egea
28/11/2003 - 23:07 | Informe spam
Hola, tienes que poner un order by, para saber cuales son los segundos 150
registros, si tu orden es la pk simplemente
select top 150 * from clientes where id>UltimoId


=Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
Aviso de Seguridad
http://www.microsoft.com/spain/tech...9-USER.asp
==
"Horacio" escribió en el mensaje
news:
Pero

SELECT TOP 150 * FROM Clientes

trae los primeros 150 registros. ¿Cómo traigo los segundos 150 registros?

Horacio
Respuesta Responder a este mensaje
#5 Javier Loria
29/11/2003 - 03:54 | Informe spam
Hola Oracio:
A mi me gusta utilizar el siguiente mecanismo:
/* Paginacion de Autores */
CREATE PROCEDURE Autores_Sel
@LastNombre varchar(40) = NULL OUTPUT
AS
SET NOCOUNT ON

SELECT TOP 5 WITH TIES *
FROM AUTHORS
WHERE CASE WHEN @LastNombre IS NULL THEN 1
WHEN @LastNombre<au_fname THEN 1
ELSE 0
END=1
ORDER BY AU_FNAME
SELECT @LastNombre=MAX(AU_FNAME)
FROM ( SELECT TOP 5 au_fname
FROM AUTHORS
WHERE CASE WHEN @LastNombre IS NULL THEN 1
WHEN @LastNombre<au_fname THEN 1
ELSE 0
END=1
ORDER BY AU_FNAME) AS N
GO
/* Fin de Declaracion de Procedimiento */

/* Uso de Procedimiento */
DECLARE @UltimoApellido varchar(40)

EXEC Autores_Sel @UltimoApellido OUTPUT
EXEC Autores_Sel @UltimoApellido OUTPUT
EXEC Autores_Sel @UltimoApellido OUTPUT
EXEC Autores_Sel @UltimoApellido OUTPUT
EXEC Autores_Sel @UltimoApellido OUTPUT
/* Fin de Procedimiento */

Esto te permitira en la aplicacion cliente pedir bloques de filas
"consecutivos", usando el filtro y la siguiente corrida obtiene los
siguientes.


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Miguel Egea escribio:
Hola, tienes que poner un order by, para saber cuales son los
segundos 150 registros, si tu orden es la pk simplemente
select top 150 * from clientes where id>UltimoId



"Horacio" escribió en el mensaje
news:
Pero

SELECT TOP 150 * FROM Clientes

trae los primeros 150 registros. ¿Cómo traigo los segundos 150
registros?

Horacio
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida