問題描述:
數據分頁時需要根據數據記錄某一字段倒序,例如對表中的 '金額差'字段 desc 排序,我們會發現,前端進行請求時獲取的數據可能會出現問題,分頁中出現了一定的重復數據。
問題發生:當'金額差'值大量為0時(相同值)時,進行排序。這時候對數據的排序可能變得隨機,即一會兒這條數據在前面,一會兒這條數據在后面了 ,這時就會出現分頁的數據出現重復。
例如:表一查詢150-200條的數據,表二查詢150-201的數據。
按desc排序,163之后值全為0了,當排序變得隨機,那么假設分頁查詢,每頁查詢10條數據,
第5頁查詢到10條數據,而查詢下一頁也就是 第6頁的數據時,由於數據的排序可能隨機,那么可能后面的數據排到了前面,而現在查到的第6頁上的數據和第5頁相同。
問題解決:
order by 多個字段,用逗號分隔每一個字段。
排序的方法是首先按照第一個字段排序,如果第一個字段相同的,再按照第二個字段來再次排序,
從而產生排序結果。