order by 導致分頁出現重複資料問題

2021-10-12 20:59:21 字數 2053 閱讀 7826

有時候我們需要按照時間排序, 並配合 limit 進行分頁查詢.

但是, 當 order by 的時間相同的時候 (資料不唯一), 系統對資料的排序可能變得隨機化, (即一會兒這條資料在前面, 一會兒這條資料在後面).

所以, 當翻頁的時候我們很容易便看到了重複的資料.

在使用 order by 的時候, 在本身需要排序的 目標字段 之後再加上乙個 唯一字段 (比如pk或者unique欄位), 保證順序的唯一性.

根據邀請人數倒序後的結果集,然後進行分頁會出問題,第2頁資料和第三頁資料一樣

因為order by後的邀請人數會有一樣的情況,所以分頁會出現問題。所以在order by後新增id 倒敘就能保障排序的唯一性,就可以解決這個問題

解決方案:

oracle分頁出現重複資料

如果order by的排序欄位的內容不是唯一的。例如你按錄入日期 lrrq 排序 即 order by col date 而col date又只是 yyyy mm dd 的格式而不是時間戳的格式的話,你的排序欄位不唯一 有可能兩條以上的資料錄入日期都是 2008 11 26 在分頁的時候第一頁的內容...

mysql的order by導致很慢

mysql的order by導致很慢 解決方法 我解決的方法是使用force index強制使用索引,為tcug datetime欄位新建乙個名字為tcug datetime的索引 normal btree selecta.tcug datetime from manage.tb crm files...

Hibernate分頁功能出現資料重複問題

oracle中的分頁機制就是通過rownum函式來實現的,rownum順序號的生成是排序後生成的,例如 select from web user where rownum 0 and rownum 10 order by name 這個排序中使用了name欄位作為排序,但是資料不能保證name是唯一...