zl程序教程

您现在的位置是:首页 >  工具

当前栏目

数仓工具—Hive语法之窗口函数ntile(11)

工具 函数 11 语法 窗口 hive 数仓
2023-09-11 14:15:37 时间

ntile

今天我们学习一个窗口函数ntile(tile 的意思是瓦片,动词的意思是并列显示),ntile(n)用于将分组数据按照顺序切均匀分成n片,返回每条数据当前所在的切片值,其实就是将数据分为n 组,然后告诉你这条数据属于那一组和其他窗口函数不同的是,它不支持ROWS BETWEEN

从按照顺序均匀分成n 片的描述我们就能知道这个窗口函数是按照某一顺序对数据进行均匀分片的,如果我们不指定order by 子句,那就是按照数据的输入逆序进行的。

测试数据

下面有一份测试数据id,dept,salary,然后我们就使用这份测试数据学习我们的窗口排序函数

1,销售,10000
2,销售,14000
3,销售,10000
4,后端,20000
5,后端,25000
6,后端,32000
7,AI,40000
8,AI,35000
9,AI,60000
10,数仓,20000
11,数仓,30000
12,数仓,32000
13,数仓,42000
create table ods_num_window(
    id int,
    dept string,
    salary int