Sql 在查询中添加表示例

Sql 在查询中添加表示例,sql,sql-server,tsql,Sql,Sql Server,Tsql,我的问题是 SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (Order by (select 0)) as rn ) as X where rn > 1000 TABLESAMPLE(10 ROWS) 查询在没有tablesample子句的情况下运行良好。 如何使用给定的查询添加tablesample???尝试返回多行而不是百分之几的记录 SELECT * FROM my_table TABLESAMPLE SYSTEM_RO

我的问题是

SELECT * 
FROM 
(
  SELECT *, 
  ROW_NUMBER() OVER (Order by (select 0)) as rn 
) as X 
where rn > 1000 
TABLESAMPLE(10 ROWS)
查询在没有tablesample子句的情况下运行良好。 如何使用给定的查询添加tablesample???

尝试返回多行而不是百分之几的记录

SELECT * FROM my_table TABLESAMPLE SYSTEM_ROWS(100);

尝试限制10,而不是10Tablesample@ImmersionULTD非常确定SQL Server在派生表上没有限制tablesample。您可以使用SELECT TOP 10*,从rn>1000 ORDER BY newid的任意位置随机选取前10名。是的,刚刚发现,不确定它是何时引入的。来自Technet:TABLESAMPLE不能应用于派生表、链接服务器的表以及从表值函数、行集函数或OPENXML派生的表。不能在视图或内联表值函数的定义中指定TABLESAMPLE。