select * from ( select row_number() over (order by source_ip,id) as row_num, * from tb) as page_table where row_num between (@PageNumber - 1) * @PageSize + 1 and @PageNumber * @PageSize
--利用top方式
select top 20 * from ( select row_number() over (order by source_ip,id) as row_num, * from tb ) as page_table where row_num > (@PageNumber - 1) * @PageSize order by row_num [/code]