【问题标题】:HiveQl/sql logic to produce the below outputHiveQl/sql 逻辑产生以下输出
【发布时间】:2017-12-22 18:40:31
【问题描述】:

我是 sql/hql 的新手。

我有下面的蜂巢表

Card_ID 中间地址
------ ----- ----------------
1000 201 MG Road,班加罗尔
1000 301 MG Road,班加罗尔
1000 401 空

1000 501 空

2000 205 Plot #5,Indira Nagar,德里

2000 305 Plot #5,Indira Nagar,德里
2000 405 空

3000 109 psk 路

3000 109 psk 路

4000 202 空

4000 202 空

我需要准备一个 hql 来识别 Card_id 的 mid 地址为 null 而不是 null

输出应该是:

Card_ID 中间地址
------ ----- ----------------
1000 201 MG Road,班加罗尔
1000 301 MG Road,班加罗尔
1000 401 空

1000 501 空

2000 205 Plot #5,Indira Nagar,德里

2000 305 Plot #5,Indira Nagar,德里

2000 405 空

请帮我用hql逻辑来实现上述o/p

提前致谢,

【问题讨论】:

    标签: sql hive hiveql


    【解决方案1】:
    SELECT E.card_id
      FROM table-name E
     WHERE E.address IS NULL
    

    【讨论】:

      【解决方案2】:
      select Card_ID
        from table 
       group by Card_ID
      having count(case when Address is null then 1 end) >0 --count null
             and 
             count(Address)>0 --count not null
      ;
      

      【讨论】:

      • 您好,感谢您帮助我。当我尝试执行你的逻辑时,它让我零行。我在蜂巢中运行。请有任何建议
      • @Ramya 检查你真的有 NULL。不是空字符串并相应地更改 CASE。尝试排除其中一个 HAVING 句子并检查其中哪些导致过滤
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多