1

SELECT TOP 20 * FROM (SELECT
2

 ROW_NUMBER() OVER (ORDER BY Namec) AS RowNumber,
3

 *
4

FROM
5

 dbo.mem_member) _myResults
6

WHERE
7

 RowNumber > 10000
8

1

SELECT * FROM (SELECT
2

 ROW_NUMBER() OVER (ORDER BY Namec) AS RowNumber,
3

 *
4

FROM
5

 dbo.mem_member) _myResults
6

WHERE
7

 RowNumber between 10000 and 10020
1

WITH OrderedResults AS 
2

3

(SELECT *, ROW_NUMBER() OVER (order by Namec) as RowNumber FROM dbo.mem_member)
4

5

SELECT * 
6

7

FROM OrderedResults
8

9

WHERE RowNumber between 10000 and 10020
 1

BEGIN
 2

 DECLARE @PageLowerBound int
 3

 DECLARE @PageUpperBound int
 4
 
  5

 -- Set the page bounds
 6

 SET @PageLowerBound = 10000
 7

 SET @PageUpperBound = 10020
 8

 9

 -- Create a temp table to store the select results
10

 Create Table #PageIndex
11

 (
12

 [IndexId] int IDENTITY (1, 1) NOT NULL,
13

 [Id] varchar(18) 
14

 )
15
 
 16

 -- Insert into the temp table
17

 declare @SQL as nvarchar(4000)
18

 SET @SQL = 'INSERT INTO #PageIndex (Id)'
19

 SET @SQL = @SQL + ' SELECT'
20

 SET @SQL = @SQL + ' TOP ' + convert(nvarchar, @PageUpperBound)
21

 SET @SQL = @SQL + ' m_id'
22

 SET @SQL = @SQL + ' FROM dbo.mem_member'
23

 SET @SQL = @SQL + ' ORDER BY NameC'
24
 
 25

 -- Populate the temp table
26

 exec sp_executesql @SQL
27

28

 -- Return paged results
29

 SELECT O.*
30

 FROM
31

 dbo.mem_member O,
32

 #PageIndex PageIndex
33

 WHERE
34

 PageIndex.IndexID > @PageLowerBound
35

 AND O.[m_Id] = PageIndex.[Id]
36

 ORDER BY
37

 PageIndex.IndexID
38
 
 39

drop table #PageIndex 
40

 END
 1

begin
 2

DECLARE @first_id varchar(18), @startRow int
 3
 
  4

SET ROWCOUNT 10000
 5

SELECT @first_id = m_id FROM mem_member ORDER BY m_id
 6

 7

SET ROWCOUNT 20
 8

 9

SELECT m.* 
10

FROM mem_member m
11

WHERE m_id >= @first_id
12

ORDER BY m.m_id
13

14

SET ROWCOUNT 0
15

end