zoukankan      html  css  js  c++  java
  • Sql 2012 OFFSET / FETCH NEXT BUG

    上个星期,测试发现了一个分页的bug--- 无论怎么分页数据的一样。我们所有的分页都是用EF 分页,为什么只有一个模块的分页有问题呢?

    后来跟了下sql语句,发现用到是sql2012的新分页方式 OFFSET/FETCH NEXT。 

    下面有两段sql语句 ,数据中Create_Date 的值都一样

    DECLARE   @FetchRows tinyint = 8;
    SELECT * FROM BnC_Store ORDER BY Created_Date ASC     OFFSET 0 ROWS     FETCH NEXT @FetchRows ROWS ONLY;
    SELECT * FROM BnC_Store ORDER BY Created_Date ASC     OFFSET 8 ROWS     FETCH NEXT @FetchRows ROWS ONLY;
    SELECT * FROM BnC_Store ORDER BY Created_Date ASC     OFFSET 16 ROWS    FETCH NEXT @FetchRows ROWS ONLY;
    

    分页是正常的。 

    select * from BnC_Store order by Created_Date asc OFFSET 0 ROWS FETCH NEXT 8 ROWS ONLY;
    select * from BnC_Store order by Created_Date asc OFFSET 8 ROWS FETCH NEXT 8 ROWS ONLY;
    select * from BnC_Store order by Created_Date asc OFFSET 16 ROWS FETCH NEXT 8 ROWS ONLY;
    

    第二,三个分页的数据和第一个分页的前5条数据是一样的。分页不正常。 

    如果我们换成 order by store_Number ,两段sql语句的分页都是正常的。

    所有我个人认为这算是微软 sql2012 的bug。

  • 相关阅读:
    http_build_query(array) 中文乱码问题
    蒙层
    git删除本地和线上分支
    小程序Storage记录用户身份
    PHPExcel Allowed memory size of 内存泄漏解决办法
    抽奖帮助类
    linux查询并删除文件
    微信公众号H5,分享朋友,分享朋友圈处理
    mysql备份数据方式
    shell监控文件变化
  • 原文地址:https://www.cnblogs.com/qionghua/p/4807537.html
Copyright © 2011-2022 走看看