这样可能会快一些,先把top n放进内存,内存比HDD查询速度要快很多select top(@_n) a INTO #TABLE1 from Table1SELECT TOP 1 a FROM #TABLE1
为你这个语句又没有分页的意思,又没有其他用意,什么不直接Table1中取TOP 1 ,非要嵌套一层?你可以用ROW_NUMBER()生成序号,然后按照你的需要去对应的序号 ;with cte as ( select *,rn=row_number()over(order by getdate()) from table1 ) select * from cte where rn=1
;with cte
as
(
select *,rn=row_number()over(order by getdate()) from table1
)
select * from cte where rn=1