我需要在不使用top和rowcount的情况下查找表的前1000行。我必须在查询中使用where子句。查询应如下所示:
select * from <table_name> where <condition>
我没有任何可以在where子句中使用的好列。
此外,我无法添加新列。
答案 0 :(得分:0)
在order by中使用带有文字值的row_number可能是您正在寻找的解决方案。
with n as (
SELECT
neo.*
, ROW_NUMBER() OVER (ORDER BY (SELECT 100)) as [rn]
FROM <table_name> neo
)
SELECT
n.*
FROM n
WHERE n.[rn] <= 1000 -- first 1000 rows