使用mysql order by and limit,同一条记录分两页显示
use mysql order by and limit,the same record appears in two page
这是我的 sql:
SELECT ID
FROM table R
ORDER BY rank desc limit 0,25;
所有记录的排名都是 0。
我使用限制将页面大小设置为 25。
所以使用限制 0,25,我得到了第一页;
使用限制 25,25,我得到了第二页。
问题是,一条记录出现在两个页面上。
我想这是 mysql 的一个错误。
我的 mysql 版本是 5.6.24。
谁能帮帮我?
all records`s rank is 0.
当您 ORDER BY rank
时,没有唯一的记录顺序。如果 table 已更新或压缩(或从备份恢复数据后),即使 LIMIT 0,25
也可以在不同的执行中 return 不同的行并且没有错。
使用 ORDER BY rank DESC, ID DESC
、f.e.,以确保排名相同的行总是 return 以相同的顺序排列。
我添加了 ID DESC
以首先获取最新的行。如果 table 包含存储最后修改日期的列,则使用它而不是 ID
。或者创建另一个更适合您的应用程序的排序规则。
这是我的 sql:
SELECT ID
FROM table R
ORDER BY rank desc limit 0,25;
所有记录的排名都是 0。
我使用限制将页面大小设置为 25。 所以使用限制 0,25,我得到了第一页; 使用限制 25,25,我得到了第二页。
问题是,一条记录出现在两个页面上。
我想这是 mysql 的一个错误。 我的 mysql 版本是 5.6.24。
谁能帮帮我?
all records`s rank is 0.
当您 ORDER BY rank
时,没有唯一的记录顺序。如果 table 已更新或压缩(或从备份恢复数据后),即使 LIMIT 0,25
也可以在不同的执行中 return 不同的行并且没有错。
使用 ORDER BY rank DESC, ID DESC
、f.e.,以确保排名相同的行总是 return 以相同的顺序排列。
我添加了 ID DESC
以首先获取最新的行。如果 table 包含存储最后修改日期的列,则使用它而不是 ID
。或者创建另一个更适合您的应用程序的排序规则。