Предположим, что есть таблица SQL Server 2008, как показано ниже, которая содержит 10 миллионов строк. Одним из полей является Id, так как он идентичен от 1 до 10 миллионов.Выбрать оператор, образец таблицы, равное распределение
CREATE TABLE dbo.Stats
(
id INT IDENTITY(1,1) PRIMARY KEY,
field1 INT,
field2 INT,
...
)
Есть ли эффективный способ, выполнив одно отборное заявление, чтобы получить подмножество этих данных, которая удовлетворяет следующие требования:
- содержит ограниченное количество строк в наборе результатов, т.е. 100, 200 и т.д.
- обеспечивает равномерное распределение определенного столбца, а не случайным образом, т.е. столбца ID
Таким образом, в нашем примере, если мы возвращаем 100 строк, результирующий набор горе uld выглядят так:
Row 1 - 100 000
Row 2 - 200 000
Row 3 - 300 000
...
Row 100 - 10 000 000
Я хочу избежать использования курсора и сохранить его в отдельной таблице.
Спасибо, это именно то, что я ищу! – user1106591