limit/top

30/12/2008 - 00:04 por aa | Informe spam
Hola,existe alguna funcion nueva en sql que permita hacer como el mysql un
limit en un select
Por ejemplo traer los top 100 pero partiendo de un lugar,por ejemplo el 101
y asi.
Lo puedo hacer con una subquery y un id pero es hacer dos select y en una
tabla grande tarda,no se si mysql hara lo mismo internamente pero ellos
permiten indicarle desde que posicion contar el top.
Gracias.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
30/12/2008 - 08:48 | Informe spam
No dices qué versión tienes, pero si tienes como mínimo SQL Server 2005,
puedes usar la función ROW_NUMBER().

Por ejemplo,

USE AdventureWorks

GO

SELECT TOP 100 *
FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY ProductID) rn
FROM Production.Product) p
WHERE rn > 100


Un saludo
-
www.navento.com
Servicios de Localización GPS


"aa" wrote:

Hola,existe alguna funcion nueva en sql que permita hacer como el mysql un
limit en un select
Por ejemplo traer los top 100 pero partiendo de un lugar,por ejemplo el 101
y asi.
Lo puedo hacer con una subquery y un id pero es hacer dos select y en una
tabla grande tarda,no se si mysql hara lo mismo internamente pero ellos
permiten indicarle desde que posicion contar el top.
Gracias.



Respuesta Responder a este mensaje
#2 Maxi
03/01/2009 - 17:00 | Informe spam
Hola, y que es el 101? como los numeras con que criterio? SQL server al
igual que otras bases de datos manejan conjuntos y si a usted le importa el
numero de registro va a tener que definir como numerarlos, por ejemplo en
sus tablas con un identity y generar el famoso rownumber

Sino puede usar trucos como le comenta Carlos, pero siempre son trucos, no
existe en SQLserver el concepto de numero de registro a menos que usted lo
defina

"aa" escribió en el mensaje de
noticias:
Hola,existe alguna funcion nueva en sql que permita hacer como el mysql un
limit en un select
Por ejemplo traer los top 100 pero partiendo de un lugar,por ejemplo el
101 y asi.
Lo puedo hacer con una subquery y un id pero es hacer dos select y en una
tabla grande tarda,no se si mysql hara lo mismo internamente pero ellos
permiten indicarle desde que posicion contar el top.
Gracias.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida