how to select first N rows from a table in T-SQL?

database, sql

Solution

select top(@count) * from users

If `@count` is a constant, you can drop the parentheses:

select top 42 * from users

(the latter works on SQL Server 2000 too, while the former requires at least 2005)

Problem

Is there any way to select, for example, first 10 rows of a table in T-SQL (working MSSQL)? I think I saw something in Oracle defined as rownum meta variable, used in a following way ``` select * from Users where rownum<=10 ``` But what about MSSQL?

Original source