查询之间的数学运算 Impala SQL

math operations between queries Impala SQL

我需要通过 HUE 编辑器在 Impala 中划分来自两个不同查询的结果。

我在Oracle中写的查询如下所示:

select
 (select count(distinct t1.ids)
  from table1 t1
  where extract(year from t1.insertdate)=2020)
  /
 (select count(distinct t2.ids)
  from table2 t2
  where extract(year from t2.insertdate)=2019)
from dual

在 impala 上,由于“/”运算符,相同的查询不起作用。你能解释一下如何在 Impala SQL 中做同样的事情吗?

您可以将它们连接到一个虚拟列上,然后划分结果集。


SELECT cnt1.cnt1/cnt2.cnt2
FROM
  (SELECT count(DISTINCT t1.ids) cnt1, 'dummy' dum
   FROM table1 t1
   WHERE YEAR (t1.insertdate)=2020) cnt1
JOIN
  (SELECT count(DISTINCT t2.ids) cnt2, 'dummy' dum
   FROM table2 t2
   WHERE YEAR (t2.insertdate)=2019) cnt2 
ON cnt1.dum= cnt2.dum -- dummy column