适用sparkSQL和hiveSQL
作用:
ntile函数可以对序号进行分组处理。这就相当于将查询出来的记录集放到指定长度的数组中,每一个数组中存放一定数量的记录。
ntile函数为每条记录生的序号就是这条记录所在数组的索引(从1开台)。
也可以将每一个分配录的数组元素称为"桶"。ntile函数有一个参数,用来指定桶数。下面的SQL语句使用ntile函数对t_table表进行了装桶处理:
SELECT ntile(4) over(order by field1) as bucker, *
FROM t_table;