Selección TOP 500, a continuación, concatenando el TOP 100 al conjunto de resultados.
Normalmente, para que valga la pena hacerlo, debe tener algunos criterios sobre los cuales basar para lo que necesita 500 registros, y solo 100 para otra condición. Supongo que estas condiciones son condición1 para TOP 500 y condición2 para las TOP 100 que desee. Debido a que las condiciones son diferentes, esa es la razón por qué los registros podrían no ser los mismos en base a TOP 100.
select TOP 500 *
from MyTable
where -- condition1 -- Retrieving the first 500 rows meeting condition1
union
select TOP 100 *
from MyTable
where -- condition2 -- Retrieving the first 100 rows meeting condition2
-- The complete result set of the two queries will be combined (UNIONed) into only one result set.
editar # 1
esto no es lo que quise decir. Quiero seleccionar las 100 mejores filas que vienen después de la 500ª fila superior. para seleccionar filas 501-600
Después de su comentario, entiendo mejor lo que quiere lograr. Pruebe esto:
WITH Results AS (
select TOP 600 f.*, ROW_NUMBER() OVER (ORDER BY f.[type]) as RowNumber
from MyTable f
) select *
from Results
where RowNumber between 501 and 600
¿Le sirve de ayuda?
qué versión de MS SQL Server? – hunter
versión ms sql 2008 – MonsterMMORPG
¿Quiere decir que quiere seleccionar las filas 500-600? ¿O quieres que un conjunto de resultados devuelva las 500 filas superiores y luego las 100 primeras filas concatenas? –