MySQL分页顺序问题

时间:2014-11-03 22:13:59

标签: mysql pagination

问题: 当我对数据进行排序时,我可能会在结果的底部看到某一行。然后我转到结果的第2页,我在这些结果的顶部看到同一行。我看到我排序的列有多个具有相同列值的行。因此,看起来第一个顺序之后的列的顺序是随机/任意的。

我希望订单始终保持不变,在不同的页面上不重复。

有没有人知道如何实现这一目标?

我想过可能会缓存一个查询的未经过处理的结果,也许我自己会对它进行排序。或者MySQL结果缓存可能会保存所有结果,然后从其缓存中提取分页结果?或者它只是根据总查询,分页和所有保存,所以它只会节省我拉的数量?

感谢您的时间。

更多信息: 我正在提取数据的表格在任何这些测试之间都没有被改变。

问题的一个例子是:

在一个页面上,我搜索具有属性q的主题并按年龄排序。 3名受试者返回:

id   attribute   age
10       q        20
8        q        23
3        q        23

我在不同的页面上进行相同的搜索:

id   attribute   age
10       q        20
3        q        23
8        q        23

当年龄相等时,订单可能会改变。

1 个答案:

答案 0 :(得分:0)

使用id列作为辅助搜索列(如果它是唯一的)。您的订单将始终保持一致,并且不会为您提供随机排序列表。