Click here to Skip to main content
15,885,074 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
Hi Everyone,
I need an answer to get nth records from the table in SQL Server. How to achieve this
Ex:
SQL
Id        Name      Age
1        Ali        25
2        John       89
3        Mitchell   67
4        Azmaim     45
5        Shahid     46
6        Qureishi   32
7        Mayank     53
8        Agarwal    39
9        Morkel     33
10       Rajnikanth 42


I need a query to get the 5th record
Posted
Comments
joshrduncan2012 4-Apr-13 10:30am    
I suggest starting with reading the T-SQL MSDN documentation on SELECT statements.

1 solution

The first thing you have to realise is that SQL is under no compunction to return rows in any particular order unless you give it an specific ORDER BY clause: A non-ordered SELECT statement is at liberty to return rows in any order SQL deems efficient, which may not be the same next week. So, first decide what you want to order by: in this case I assume it is the Id.
Try something like this:
SQL
WITH myTableWithRows AS (
    SELECT (ROW_NUMBER() OVER (ORDER BY myTable.Id)) as row, *
    FROM myTable)
SELECT Id, [Name], Age FROM myTableWithRows WHERE row = 5
 
Share this answer
 
Comments
Maciej Los 4-Apr-13 11:39am    
+5!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900