Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: SQL-server-2005
Hi Everyone,
I need an answer to get nth records from the table in SQL Server. How to achieve this
Ex:
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 4-Apr-13 5:21am
sahmed4562
Comments
joshrduncan2012 at 4-Apr-13 10:30am
   
I suggest starting with reading the T-SQL MSDN documentation on SELECT statements.

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

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:
    WITH myTableWithRows AS (
        SELECT (ROW_NUMBER() OVER (ORDER BY myTable.Id)) as row, *
        FROM myTable)
    SELECT Id, [Name], Age FROM myTableWithRows WHERE row = 5
  Permalink  
Comments
Maciej Los at 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)

  Print Answers RSS
0 OriginalGriff 505
1 Maciej Los 309
2 BillWoodruff 174
3 /\jmot 160
4 Suraj Sahoo | Coding Passion 160
0 OriginalGriff 8,654
1 Sergey Alexandrovich Kryukov 7,407
2 DamithSL 5,639
3 Maciej Los 5,229
4 Manas Bhardwaj 4,986


Advertise | Privacy | Mobile
Web01 | 2.8.1411023.1 | Last Updated 4 Apr 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100