how to get top n rows from a table where value of n is passed at run-time?
问题 How to get top n rows from a table where value of n is passed at run-time? 回答1: In SQL Server 2005 and beyond you can actually parameterise the top command. The code below is from MSDN USE AdventureWorks; GO DECLARE @p AS int; SELECT @p=10 SELECT TOP(@p)* FROM HumanResources.Employee; GO In earlier versions of SQL Server you will need to either use rowcount or dynamic sql. 回答2: You can use set rowcount. To get the first 100, for example: declare @myrowcount = 100 set rowcount @myrowcount