一、含义
NTILE(n)函数是把有序窗口的行分发到指定数据的组中,各个组有编号,编号从 1 开始,对
于每一行,NTILE 返回此行所属的组的编号。
二、格式
格式:NTILE(n)
注意:n 必须为 int 类型。
三、测试案例
1,新建数据表
CREATE TABLE test.data_test(
name string
,date string
,score string
);
2,插入数据
INSERT INTO test.data_test VALUES
('xiaoming','2022-06-22','85'),
('xiaohong','2022-05-13','90'),
('xiaohua','2022-06-28','83'),
('xiaolan','2022-03-04','79'),
('tom','2022-06-24','80'),
('jack','2022-01-01','65'),
('rose','2021-08-11','99'),
('jenny','2021-12-22','84'),
('judy','2021-10-06','96'),
('mark','2021-04-03','100')
;
3,将数据分成五份
(1)SQL语句
select *,ntile(5) over(order by date) sorted
from test.data_test ;
(2)结果展示:
4,将sorted 等于 1 即可,便是求出20%时间的订单信息
(1)SQL语句
select A.* from
(
select *,ntile(5) over(order by date) sorted
from test.data_test
) A
where 1=1
and sorted=1
(2)结果展示
文章到这里就结束了,我是喵~~,有问题欢迎大家一起交流。