上個星期,測試發現了一個分頁的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語句