前端向後端查數據,後端使用mybatis plus的page分頁返回數據。但是返回的數據有很多重複,並且漏了很多數據。但是page顯示數據的總條數是對的。
直接在數據庫上執行mybatis plus對應的sql。結果如下:
不加limit時,17條數據全查出來
加上limit後發現,第一頁,第二頁,第三頁有重複數據,並且data_id靠後的數據查不出
上圖可以看到,就沒出現過data_id > 81的數據。
上網搜了下,發現這個是一個很常見的bug。因爲order by的字段裏面,一旦有相同的值,就會出現這種情況,具體的機制原理不懂~~
解決方法:既然是因爲order by字段裏有相同值導致的,那就在order by最後加上主鍵id,那就不會有重複了,結果如下: