对结果进行分页
要一次迭代一页结果(也称为分页),有多种选择:
LIMIT/OFFSET
分页(慢,不推荐)键集分页(也称为'查找方法')用于快速从表中获取记录子集。它通过使用WHERE
子句的组合返回的记录集来实现此目的。
键集分页查询的一般模式是:
SELECT * FROM t
WHERE key > ${value}
ORDER BY key
LIMIT ${amount}
假设使用客户表的数据集,可以将其加载到Hubble中
要使用键集分页获取第一页结果,请运行以下语句
select * from cust_info
where cust_no >0
order by cust_no
limit 5;
cust_no | cust_name | cust_card_no | cust_phoneno | cust_address | cust_type
-----------+-----------+--------------------+--------------+--------------+------------
1 | 王吉 | 12022519960321531X | 15122511874 | 天津武清 | 抵押
2 | 张贺 | 431256197306265320 | 15534343555 | 山西临汾 | 质押
3 | 刘明 | 371452199303034312 | 18967756743 | 陕西延安 | 信用
4 | 李华 | 52112119860621421X | 15833355455 | 湖北武汉 | 抵押
5 | 郑青 | 213456199102275341 | 13054546567 | 江西南昌 | 质押
(5 rows)
要获取第二页结果,请运行:
select * from cust_info
where cust_no >5
order by cust_no
limit 5;
cust_no | cust_name | cust_card_no | cust_phoneno | cust_address | cust_type
-----------+-----------+--------------------+--------------+--------------+------------
6 | 王三 | 12047419660327643X | 15854557437 | 天津北辰 | 抵押
7 | 刘一 | 234256195606263452 | 13894858958 | 天津滨海 | 质押
8 | 杨泰 | 541452199303034312 | 17548587733 | 河南洛阳 | 信用
9 | 李青 | 24112119450621342X | 15634879747 | 湖北红安 | 抵押
10 | 钱森 | 32434519900221534X | 13934745774 | 辽宁沈阳 | 质押
(5 rows)