我在apachephoenix中使用order by with offset进行分页。我在下一页得到一个重复的结果。
我看到了apachephoenix中的hbase表。我正在使用to_number()将我的字符串化列转换为整数。我想按降序排列转换后的列。
示例:我有一个hbase视图,如:
------------------------------
| TITLE | COUNT |
------------------------------
| t8 | 10 |
------------------------------
| t9 | 2 |
| t4 | 1 |
| t6 | 1 |
| t10 | 1 |
| t7 | 1 |
| t43 | 0 |
| t14 | 0 |
| t11 | 0 |
| t42 | 0 |
我的问题:
Select TITLE,COUNT from Hbase_view order by TO_NUMBER(COUNT) desc limit 5 offset 0;
结果:
+------------+------------------+
| TITLE | COUNT |
+------------+------------------+
| t8 | 10 |
| t9 | 2 |
| t4 | 1 |
| t7 | 1 |
| t10 | 1 |
下一个查询:
选择标题,从hbase\u视图按顺序计数到\u编号(计数)说明限制5偏移量5;
结果:
+------------+------------------+
| TITLE | COUNT |
+------------+------------------+
| t7 | 1 |
| t43 | 0 |
| t14 | 0 |
| t11 | 0 |
| t42 | 0 |
+------------+------------------+
这里t7在两个结果上重复。
预期结果:
1st Query:-
+------------+------------------+
| TITLE |COUNT |
+------------+------------------+
| t8 | 10 |
| t9 | 2 |
| t4 | 1 |
| t6 | 1 |
| t10 | 1 |
2nd Query
+------------+------------------+
| TITLE |COUNT |
+------------+------------------+
| t7 | 1 |
| t43 | 0 |
| t14 | 0 |
| t11 | 0 |
| t42 | 0 |
+------------+------------------+
请帮我知道确切的问题是什么?另外,我想知道的是,光标是否可以用于同样的目的?。
1条答案
按热度按时间ipakzgxi1#
我想因为所有这些记录都有相同的计数:
在查询中,您无法保证这4条记录的顺序,因此分页查询将无法按预期工作。
您也可以尝试在“order by”中添加标题作为第二顺序列。你应该有更一致的结果。