我尝试将三个独立的查询合并为一个查询,但仍然生成相同的结果,只是作为一个表。columna和columnb实际上都是“yyyy-mm-dd”的日期格式,理想情况下,最终结果只是一列日期和每个查询的单独计数。
select columnA, count(*)
from data.table
where timestamp between '2017-01-01' and '2017-01-07'
group by columnA
select columnB, count(*)
from data.table
where timestamp between '2017-01-01' and '2017-01-07'
group by columnB
select columnB, count(distinct columnC)
from data.table
where timestamp between '2017-01-01' and '2017-01-07'
and columnX in ('itemA','ItemB')
group by columnB
4条答案
按热度按时间b1zrtrql1#
我可以使用以下方法使其工作:
这种方法比联合或子查询方法效率高还是低?
ie3xauqp2#
与…同行
UNION ALL
:r1zhe5dt3#
以下是您想要的:
myss37ts4#
以下查询表示您要执行的操作:
我认为这是hive兼容的,但是偶尔hive与sql的其他方言有着惊人的差异。