Dynamic SELECT TOP @var In SQL Server

sql, sql-server-2005

Solution

SELECT TOP (@count) * FROM SomeTable

This will only work with SQL 2005+

Problem

How can I have a dynamic variable setting the amount of rows to return in SQL Server? Below is not valid syntax in SQL Server 2005+: ``` DECLARE @count int SET @count = 20 SELECT TOP @count * FROM SomeTable ```

Original source