Выбор TOP 500, затем объединение TOP 100 с результирующим набором.
Обычно, для того чтобы это стоило, вам нужно иметь некоторые критерии, на которых можно основыватьнужно 500 записей для и только 100 для другого условия.Я предполагаю, что этими условиями являются условие1 для TOP 500 и условие2 для TOP 100, которые вы хотите.Поскольку условия отличаются, это является причиной того, что записи могут не совпадать на основе 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.
РЕДАКТИРОВАТЬ # 1
этоэто не то, что я имел в виду.Я хочу выбрать первые 100 строк, идущие после первой 500-й строки.поэтому выбирая строки 501-600
После вашего комментария я лучше понял, чего вы хотите достичь.Попробуйте это:
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
Помогает ли это?