查询之间的数学运算 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
我需要通过 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