zoukankan      html  css  js  c++  java
  • sql 分页语句 备忘

    select   top   35   * 
    from   TABLE1  
    where  

            siteid
    =3 and id  not in  
            (  
            
    select   top   35   id   from   TABLE1   
            
    where siteid=3 order   by   id  
            )  
    )    
    order   by   id  

    --原理就是去掉 前(页码-1)*页面大小 个编号id ,尽管效率不高,但是有可行性

    弊病:1   强制排序 
    2   排序列必须是唯一列,否则分页情况不符实际 
    3.   使用not   in,速度慢, 



    下面一个就是利用他的一个利用唯一列 (id)编号来产生一个区间,必须要求是自增编号,效果不太好,不适用于搜索结果。

    代码
    select   top   页大小   * 
    from   testtable 
    where   ( 
     id 
    >  
       (   
           
    select   max(id)  
           
    from   
           (  
              
    select   top   页大小*页数   id   from   表 order   by   id   )   as   t 
           ) 
       )   
    order   by   id 

    --弊病:1   强制排序 
    --
        2   排序列必须是唯一列,否则分页情况不符实际 

     欢迎大家拍转。

  • 相关阅读:
    yii2 页面渲染方法解析
    JavaScript 编码小技巧
    Ansible Playbooks入门介绍
    CentOS 7 源码安装Ansible 2.x
    GitLab 安装与入门
    SpringBoot 悲观锁 与 乐观锁
    SpringBoot 事务隔离性和传播性
    SpringBoot 定义通过字段验证
    SpringBoot 密码MD5加密
    SpringBoot MockMVC
  • 原文地址:https://www.cnblogs.com/chenli0513/p/1954841.html
Copyright © 2011-2022 走看看