你好,我正在学习Hive的窗口功能,遇到了一个问题。
我想找出一个月内的客户数量:
我的表:
入止日期:收购日期
费率计划名称:string
库存:int
进线:int
我对3个变量进行了划分:购置年/月和费率计划
SELECT (first_value(stock) OVER w + sum(incomers) OVER w) AS stock_monthly,
year(date_in_out) AS year_in,
month(date_in_out) AS month_in,
rate_plan_name
FROM my_table
WINDOW w AS (PARTITION BY rate_plan_name, year(date_in_out), month(date_in_out) ORDER BY date_in_out ASC);
我得到结果了
我得到不同的每月库存值,而年/月和费率计划名称在我的数据集中是相同的。
我的问题是为什么这个值不同?我希望这里也一样。
1条答案
按热度按时间f8rj6qna1#
带着一个
order by date_in_out
在window
规范,sum
为每行计算。如果您需要在年-月级别进行汇总,请使用但请注意
first_value
还需要一个order by
.我想你在找,