我有两个表,想要找出它们之间不同记录的百分比。
TableA(item int,value string)
TableB(item int,value string)我编写了这个与MYSQL完美配合的查询
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中进行这些计数划分?
发布于 2016-09-25 03:13:55
您可以在两个子查询中获取值,然后在外部查询中进行计算:
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) t2https://stackoverflow.com/questions/39670285
复制相似问题