我有两个表,想要找到它们之间不同记录的百分比。
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中进行这些计数划分?
答案 0 :(得分:0)
您可以在两个子查询中获取值,然后在外部查询中计算:
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