Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

select con x numeros de registros

Estas en el tema de select con x numeros de registros en el foro de SQL Server en Foros del Web. hola, queria hacer una consulta en T-SQL que me devolviese por ejemplo los regsitros del 1000 al 2000 o del 0 al 30000. Un saludo...
  #1 (permalink)  
Antiguo 19/07/2012, 04:24
 
Fecha de Ingreso: julio-2009
Mensajes: 22
Antigüedad: 13 años, 1 mes
Puntos: 0
select con x numeros de registros

hola, queria hacer una consulta en T-SQL que me devolviese por ejemplo los regsitros del 1000 al 2000 o del 0 al 30000.
Un saludo
  #2 (permalink)  
Antiguo 19/07/2012, 05:22
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 10 años, 1 mes
Puntos: 40
Respuesta: select con x numeros de registros

Para devolver las filas 1-30000:
Código:
Select Top 30000 *
From MiTabla
Order By ...
La clausula Order By no es obligatoria.

Para devolver las filas 1000-2000
Código:
With T As
(Select Row_Number() Over(Order By ...) Nm,
            *
From MiTabla)
Select *
From MiTabla
Where Nm Between 1000 And 2000;
Si no tienes ninguna columna preferida para ordenar- utilize el GetDate()
En SQL Server 2012 hay solución especifica a este tema, pero supongo que usas versión anterior.
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #3 (permalink)  
Antiguo 19/07/2012, 05:43
 
Fecha de Ingreso: julio-2009
Mensajes: 22
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: select con x numeros de registros

Gracias esto es lo que quiero pero tengo un problema, el alias NM no me lo reconoce y tampoco soy capaz de colocar el row_number en el Where

Select Row_Number() Over(Order By GetDate()) as Nm
From TQUALITY
Where Row_Number() Between 1000 And 2000;
  #4 (permalink)  
Antiguo 19/07/2012, 05:51
 
Fecha de Ingreso: julio-2009
Mensajes: 22
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: select con x numeros de registros

ok resuelto, muchas gracias no habia caido en la tabla temporal

WITH T as(
Select Row_Number() Over(Order By GetDate()) as Nm
from B)
select *
from T
Where Nm Between 1000 And 2000;
  #5 (permalink)  
Antiguo 19/07/2012, 07:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 16 años
Puntos: 774
Respuesta: select con x numeros de registros

Cita:
Iniciado por javierrunto Ver Mensaje
ok resuelto, muchas gracias no habia caido en la tabla temporal

WITH T as(
Select Row_Number() Over(Order By GetDate()) as Nm
from B)
select *
from T
Where Nm Between 1000 And 2000;
Amigo no es una tabla temporal es una Common Table Expresion que es algo diferente a una tabla temporal :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: numeros, registros, select
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 13:15.