【问题标题】:Hive/Impala changing table countsHive/Impala 更改表计数
【发布时间】:2019-02-05 22:08:24
【问题描述】:

我有一个发布日期列表(有些是过去的,有些是未来的)和一个注册号列表。

release date     registration
01/01/2019        R1
02/01/2019        R2
07/02/2019        R3

我基本上想创建一个新表格,显示每天(未来日期)的注册号码总数。

date            total registration numbers
05/02/2019       2
06/02/2019       2
07/02/2019       3

我知道如何使用 count(*) 来查找注册数量,并且我考虑过将其与未来日期的日历表结合起来。

【问题讨论】:

    标签: sql hive impala


    【解决方案1】:

    如果你有日历表,可以使用窗口函数:

    select c.date,
           count(t.date) as registrations_on_day,
           sum(count(t.date)) over (order by c.date) as registrations_through_day
    from calendar c left join
         t
         on c.date = t.date
    group by c.date
    order by c.date;
    

    【讨论】:

    • 谢谢@Gordon Linoff。初步测试似乎可以使用这种方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    相关资源
    最近更新 更多