首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hive中不同select计数查询的除法

问Hive中不同select计数查询的除法
EN

Stack Overflow用户
提问于 2016-09-24 06:14:20
回答 1查看 1.9K关注 0票数 1

我有两个表,想要找出它们之间不同记录的百分比。

代码语言:javascript
复制
TableA(item int,value string)
TableB(item int,value string)

我编写了这个与MYSQL完美配合的查询

代码语言:javascript
复制
SELECT 100*
       (SELECT COUNT(*) 
          FROM TableA A, 
               TableB B
         WHERE A.item=B.item
               AND A.value!=B.value
       )
       /
       (SELECT COUNT(*) 
          FROM TableA A
       )
 ;

但是对于HIVE中的类似场景,这个查询不起作用,并且使用NoViableAltException失败,我如何在HIVE中进行这些计数划分?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-25 03:13:55

您可以在两个子查询中获取值,然后在外部查询中进行计算:

代码语言:javascript
复制
select
    100 * different / total
  from
    (select
         count(*) as different
       from
         a, b
       where
         a.id = b.id and a.value <> b.value) t1,
    (select
         count(*) as total
       from
         a) t2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39670285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档