-1

我需要在不使用顶部和行数的情况下找出表的前 1000 行。我必须在查询中使用 where 子句。查询应如下所示:

select * from <table_name> where <condition>

我没有任何可以在 where 子句中使用的好列。

我也无法添加新列。

4

1 回答 1

0

按顺序使用带有文字值的 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
于 2016-05-16T18:47:09.113 回答