繁体   English   中英

Hiveql查找地址为空并填写地址

[英]Hiveql to find the address is null and fill the address

我是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

这是仅使用Card_id具有多个Mid的临时表

需求:

  1. 将Card_id的中间地址标识为null而不是非null(我需要使用此值集创建一个表,以供我的客户查看。因此,需要使用sql来创建此请求)
  2. 使用同一card_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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM