但如果 order by 的條件,無法確定每一筆資料的先後順序,可能造成非預期的結果。
例如:
全部資料
「... order by bb」,結果如下
aa , bb 1 1 2 1 3 2 4 2 5 2
第 1 頁,取前三筆資料
「... order by bb limit 0,3」,結果如下
aa , bb 1 1 2 1 3 2
第 2 頁,取次三筆資料
「... order by bb limit 3,3」,預計結果如下
aa , bb 4 2 5 2但有可能變成
aa , bb 3 2 4 2=>「 5 , 2 」這筆不見了,但兩頁總筆數是對的。比對後,可發現「 3 , 2 」重覆列出,在第 1 頁、第 2 頁都列出了。
所以,order by 的條件要明確,避免分頁重覆列出某些資料,導致少列某些資料。
沒有留言:
張貼留言