早上好, 请给我建议, 我该如何替换此Oracle语法:
sum(fact) over(partition by name order by rep_date range between interval '20' month preceding and current row) as w_sum
要在Hive中使用它?我有一个与间隔'20'有关的错误
答案 0 :(得分:1)
使用unix_timestamp将rep_date转换为自Unix纪元以来的秒数,然后计算20个月的秒数,并在两者之间的范围内使用。 Hive不支持在范围内指定间隔类型。
sum(fact) over(
partition by name
order by unix_timestamp(rep_date,'MM-dd-yyyy') -- Specify the rep_date format here
range between 51840000 preceding and current row) as w_sum