我想基于索引列进行排序和分页,但是该列不是唯一的。
该表不会定期更新。
例如, 如果该表包含:
my_column | another_column
--------------------------
1 | 111
1 | 222
1 | 333
2 | 444
第一页的查询是:
SELECT * FROM my_table WHERE my_column >= 0 ORDER BY my_column LIMIT 2 OFFSET 0;
这将产生以下结果:
my_column | another_column
--------------------------
1 | 111
1 | 222
如果我现在运行此查询:
SELECT * FROM my_table WHERE my_column >= 1 ORDER BY my_column LIMIT 2 OFFSET 2;
鉴于数据没有变化,我能否始终如一地在下面得到理想的结果?:
my_column | another_column
--------------------------
1 | 333
2 | 444
我想避免得到如下重复结果:
my_column | another_column
--------------------------
1 | 111
2 | 222
和
my_column | another_column
--------------------------
1 | 222
2 | 444
我想避免在索引中包含更多列以节省空间。
我不介意结果的顺序,只要我在查询之间没有重复即可。这可能吗?