公司作了一系列广告投放活动,引流c,现在看达到10W的时间节点
数据demo
user_id | register_date |
1001 | 2024-09-01 |
1002 | 2024-09-02 |
结果如下:
register_date | 人数 |
2024-09-01 | 9879 |
2024-09-02 | 100000 |
2024-09-05 | 200000 |
思路:开窗累加,然后取整数部分,作为分组,升序,取第一个,样式如下
register_date | 人数 | 取整/100000 | 组内人数升序 | 结果 |
2024-09-01 | 9879 | 0 | 1 | |
2024-09-02 | 100000 | 1 | 1 | OK |
2024-09-03 | 100009 | 1 | 2 | |
2024-09-04 | 110000 | 1 | 3 | |
2024-09-05 | 200000 | 2 | 1 | OK |
2024-09-06 | 220000 | 2 | 2 | |
2024-09-07 | 240000 | 2 | 3 | |
2024-09-08 | 300000 | 3 | 1 | OK |
select register_date
,cal_register_users
from
(
select register_date
,cal_register_users
,row_number() over(partition by int(cal_register_users/100000) order by cal_register_users asc) as rn
from
(
select register_date
,sum(1) over(order by register_date asc) as cal_register_users
from tbl
)
) where cal_register_users>=100000 and rn=1