我在这里发现了这个非常相似的问题,除此之外我想做的就是按日期分组。每个子查询中都有一个日期列。
concatenating columns from multiple unrelated 1-row resultsets
每个子查询都将包含完全相同的日期范围。我已经尝试在每个子查询和外部查询中放置group by,但我似乎无法为每个日期组合每个子查询。我在Hive中使用此查询,但我相信任何ANSI SQL都可以在这里工作。不要引用我的话。我的方案似乎是我发布的链接中找到的答案的一个小变化,但我似乎无法使其工作。
以下是我在上面附带的链接中发布的一条查询:
select A, B, C, D
from ( SELECT SUM(A) as A, SUM(B) as B FROM X ) as U
CROSS JOIN ( SELECT SUM(C) as C, SUM(D) as D FROM Y ) as V
当每个子查询都有一个日期列时,如何为此添加GROUP BY?或者有更好的方法来实现相同的结果吗?
答案 0 :(得分:2)
这是你想要的吗?
select u.dte, A, B, C, D
from (select dte, SUM(A) as A, SUM(B) as B
from X
group by dte
) u join
(select dte, SUM(C) as C, SUM(D) as D
from Y
group by dte
) v
on u.dte = v.dte;