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語句

相關文章
相關標籤/搜索