Sql 2012 OFFSET / FETCH NEXT BUG

上个星期,测试发现了一个分页的bug--- 不管怎么分页数据的同样。咱们全部的分页都是用EF 分页,为何只有一个模块的分页有问题呢?sql

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

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

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;

分页是正常的。 blog

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条数据是同样的。分页不正常。 class

 

若是咱们换成 order by store_Number ,两段sql语句的分页都是正常的。select

 

全部我我的认为这算是微软 sql2012 的bug。sql语句

相关文章
相关标签/搜索