1. 程式人生 > >MySQL按時間排序分頁問題

MySQL按時間排序分頁問題

在按時間排序進行分頁的時候,遇見了這樣的問題。在查詢所有的資料,並沒有重複的資料出現,但是按時間排序,分頁後有重複的資料。dodo不知道大家有沒有遇見過。

建表是這樣的:

然後查詢這張表使用者邀請表,並按建立時間進行排序。顯示資料。

註釋:注意圖中標藍的new_user_id

現在開始進行分頁查詢這條資料,並按建立時間進行排序:

查詢的第一頁

註釋:注意圖中標藍的new_user_id

在這第一頁中new_user_id的資料在第5個出現。

查詢的第二頁

註釋:出現相同的資料new_user_id 的資料。

在這第二頁中new_user_id的資料在第4個出現

查詢的第三頁

註釋:出現相同的資料new_user_id 的資料。

在這第三頁中new_user_id的資料在第1個出現

如果心細的人會發現,在這幾張表中,建立的每行資料的create_time的時間都是相同的。

如果是不同的時間,不會出現按時間進行排序,並分頁的重複資料

由此,可以看出,如果時間相同的情況下,MySQL通過時間進行排序,並進行分頁查詢大量資料的時候,會出現重複的資料的現象。

解決這個問題。可以先通過時間進行排序,如果時間相同的情況下,再根據ID,或者其他的欄位去進行排序。

示例:

同樣的資料。

查詢的第一頁

查詢的第二頁

查詢的第三頁