我有一个包含三列的表username
:followerCount
和CreateDate
。
表中有大约 110000 个用户,我试图显示按followerCount
. 我这样做:
select top 50 *
from Users
where followerCount <= @followerCount
order by followerCount desc, createDate desc
因此,对于第二页,我从第一页通过最后followerCount
一页,然后收到下一页,依此类推。
但是表中有些用户的关注者数量相同。例如有 250 个用户有 5000 个关注者。因此,当我进行分页时,我无法正确获取下一页,因为有更多用户拥有 5000 个关注者。
例如,我在第 9 页,最后一个用户有 5001 个关注者,我将 5001 传递给存储过程,我得到了 50 个拥有 5000 个用户的用户。但是还有 200 个用户,当我将这一次 5000(上一个分页中的最后一个数字)再次传递给我的存储过程时,它将跳过所有其他用户并为我带来 4xxx 个关注者的用户。
我如何才能带来拥有相同数量关注者的正确用户?
更正:我为此目的使用实体框架,我发布了 SQL 语句以便于理解。