TSQL结果集的分页

如果你要做一系列物品的分页列表,就一定会用到“TSQL结果集的分页”或者相似的概念。比如一共有99个物品,一页显示9个,那么你在读取的时候要把99个全读出来吗?绝对不行!因为当前页只需要9个,其它的90个全是浪费,既浪费时间又消耗资源,傻子才会这么做!大家一定知道TSQL里面有个TOP函数,它能取结果集的前xx个,就用它,我们就能实现用多少取多少的目的。

逻辑是这样的:第1页取1-9个数据;第2页取10-18个数据;第3页取19-27个数据……以此类推。而仅有的TOP函数只能取前几个,这里我们就需要动动脑子了。答案揭晓:比如你要取第10-18个数据,你先用TOP 18取出前18个数据A,然后TOP 9取出前9个数据B,那么A里面除去B,就是最终结果集!下面看看TSQL语句吧~

SELECT  *  FROM Item WHERE ItemID IN 
(
        SELECT TOP 取多少个数据 ItemID FROM Item WHERE ItemID NOT IN
        (
            SELECT TOP 从第几个数据开始
- 1  ItemID FROM Item ORDER BY SortNo DESC
        )
        ORDER BY SortNo DESC
)
ORDER BY SortNo DESC
实际应用情况还要比这个复杂,比如说物品分类、显示状态、特殊排序等,有不懂的再问我吧~
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值