我有一张包含2000万条记录的巨大表格,我希望将表格分成10个相等的块。
问题是该表只有varchar列。我能够使用ROWNUM列并将表拆分为相等的块,但我似乎无法将varchar列的Start和End值放入查询结果集中。以下是查询。
with bkt as (
select ROWNUM, width_bucket(ROWNUM, 1, 100100, 10) as id_bucket from "BOOKER"."test"
)
select id_bucket
, min(ROWNUM) as bkt_start
, max(ROWNUM) as bkt_end
, count(*)
from bkt
group by id_bucket
order by 1;
请告知我如何使用此查询添加varchar列以提供列的开始和结束varchar值。