【问题标题】:Is there function to get n-1 value from next row in Hive?是否有从 Hive 中的下一行获取 n-1 值的功能?
【发布时间】:2020-12-12 01:39:56
【问题描述】:

我需要获取下一行日期字段的 date-1 值。需要类似于“预期日期”列的结果。

我尝试了延迟功能,但没有得到预期的结果。

【问题讨论】:

    标签: hive hiveql


    【解决方案1】:

    尝试使用 hive lead 函数。 Lead 函数为您提供下一行日期值。获得下一行后,使用 date_adddate_sub 减去 1 天。

    SELECT
    Date,
    coalesce(date_add(lead(Date,1) over(order by Date), -1),'9999-12-31') as expected_date
    FROM
    table
    

    最后,您可以使用coalesce 将空行的最终行值默认为9999-12-31

    【讨论】:

    • 谢谢 Rishu,我是通过 lag 功能做到的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多