Declare @PageSize int,
@Page int,
@Segment varchar(10)
Set @PageSize=100
set @Page=3
Set @Segment='N'
---Logic to Find Total pages---
Declare @TPages int
Select @TPages=Case When Count(*)<=@PageSize Then 1 when (Count(*)%@PageSize)!=0 then (Count(*)/@PageSize)+1 Else (Count(*)/@PageSize) End
from tblname where Segment=@Segment
Print @TPages
-----Logic to Get Rows as per selected Page------
SET ROWCOUNT @PageSize
Declare @Sql varchar(8000)
set @sql='Select * from
(
Select top '+Convert(varchar,(@Page*@PageSize))+' * from tblname where Segment='''+@Segment+'''
order by ID
)a
order by ID desc'
Exec(@Sql)
SET ROWCOUNT 0
@Page int,
@Segment varchar(10)
Set @PageSize=100
set @Page=3
Set @Segment='N'
---Logic to Find Total pages---
Declare @TPages int
Select @TPages=Case When Count(*)<=@PageSize Then 1 when (Count(*)%@PageSize)!=0 then (Count(*)/@PageSize)+1 Else (Count(*)/@PageSize) End
from tblname where Segment=@Segment
Print @TPages
-----Logic to Get Rows as per selected Page------
SET ROWCOUNT @PageSize
Declare @Sql varchar(8000)
set @sql='Select * from
(
Select top '+Convert(varchar,(@Page*@PageSize))+' * from tblname where Segment='''+@Segment+'''
order by ID
)a
order by ID desc'
Exec(@Sql)
SET ROWCOUNT 0