Sql 查找地址的Hiveql为null并填充地址

Sql 查找地址的Hiveql为null并填充地址,sql,hadoop,hive,hiveql,Sql,Hadoop,Hive,Hiveql,我是sql/hql新手 我使用下面的配置单元表来构建逻辑,如下所述: Card_ID Mid Address ------ ----- --------------- 1000 201 MG Road,bangalore 1000 301 MG Road,bangalore 1000 401 null 1000 501 null

我是sql/hql新手

我使用下面的配置单元表来构建逻辑,如下所述:

Card_ID  Mid      Address                
------   -----   ---------------           
1000     201     MG Road,bangalore      
1000     301     MG Road,bangalore       
1000     401     null 
1000     501     null

2000     205     Plot # 5, Indira Nagar, Delhi

2000     305     Plot # 5, Indira Nagar, Delhi             
2000     405     null

3000     109     psk road

3000     809     psk road
这是一个仅使用具有多个Mid的卡id创建的暂存表

要求:

识别卡id的mid地址为null和not null我需要用这组值创建一个表,以便我的客户进行查看。因此,请使用sql来创建此请求 用同一卡ID下的其他中间地址填充地址列空值 期望输出:

Card_ID  Mid      Address                
------   -----   ---------------           
1000     201     MG Road,bangalore      
1000     301     MG Road,bangalore       
1000     401     MG Road,bangalore 
1000     501     MG Road,bangalore

2000     205     Plot # 5, Indira Nagar, Delhi

2000     305     Plot # 5, Indira Nagar, Delhi             
2000     405     Plot # 5, Indira Nagar, Delhi

3000     109     psk road

3000     809     psk road
请你们帮我一步一步地构建hql/sql,以便我能在明天之前将上述o/p交付给我的客户。

您可以使用max作为窗口函数:

select card_id, mid,
       max(address) over (partition by card_id)
from t;

嘿,戈登,谢谢你的快速更新。。我对sql真的很陌生。Gordon,你能帮我构造一个查询来获取/识别卡id的mid地址为null和not null吗?我需要用这组值创建一个表,让我的客户查看。在客户审查后,我们将把地址空值与同一卡下的其他中间地址值进行映射_id@Raya . . . 新的问题应该以问题的形式提出,而不是在评论中。大家好,现在我需要确定卡的mid地址为null和not null。我需要用这组值创建一个表,以便我的客户进行审查。因此,请使用sql来创建此请求,以便我的o/p CAID为1000和2000,而不是3000。