在两个表中的日期之间查找数据Hiveql

时间:2017-03-21 18:09:18

标签: hiveql

我有以下两个表:

  1. 会员下载详情
  2. 会员维度。
  3. 从会员维度表中,我想根据某些下载结束日期提取会员的详细信息。

    会员下载详情表(表名:MDD)
    Member Download Table

    会员维度表(表名:MD)

    Member Dimensions Table

    我想带回"状态"成员的下载日期在开始日期和结束日期之间。我知道这可以通过hiveql中的BETWEEN实现(对于成员2)但是成员1的棘手部分,下载日期落在成员维度中的两行之间。在这种情况下,最新的999-000行应返回。此外,如果下载表中的成员不在Dimensions表中,则它们也应返回NULL。

    输出表应该像

    Output Table

1 个答案:

答案 0 :(得分:1)

aws autoscaling describe-launch-configurations --query "LaunchConfigurations[?contains(LaunchConfigurationName,'LC')].[LaunchConfigurationName]" --output text | xargs -I aws autoscaling delete-auto-scaling-group --auto-scaling-group-name

使用select * from (select member_no,download_date,startdate,enddate,status, row_number() over(partition by member_no order by enddate desc) rownum from member_download_details as dd left join member_dimensions md on(dd.member_no=md.member_no and download_date between startdate and enddate) ) where rownum=1; ,我们可以轻松获得所需的结果,尝试一次以上。