Если на столе есть уникальный ключ, то да ...
Select * From Table O
Where (Select Count(*) From Table I
Where [UniqueKeyValue] < O.UniqueKeyValue) < N
Вы можете заменить свои собственные критерии, если хотите, чтобы определение "Top" основывалось на какой-то другой логике, а не на уникальном ключе ...
РЕДАКТИРОВАТЬ: если «сортировка», определяющая значение «Top», основана на неуникальном столбце или наборе столбцов, то вы все равно можете использовать это, но не можете гарантировать, что сможете получить ровно N записей ...
Select * From Table O
Where (Select Count(*) From Table I
Where nonUniqueCol < O.nonUniqueCol) < 10
Если записи 8, 9, 10, 11 и 12 имеют одинаковое значение в [nonUniqueCol], то запрос будет генерировать только 7 записей (с '<') ... или 12 (если вы используйте '<=') </p>
ПРИМЕЧАНИЕ. Поскольку это связано с коррелированным подзапросом, производительность может быть проблемой для очень больших таблиц ...