连接来自多个不相关的 1 行结果集的列(使用分组依据)
concatenating columns from multiple unrelated 1-row resultsets (with group by)
我在这里发现了这个非常相似的问题,除此之外我想做的就是按日期分组。每个子查询中都有一个日期列。
concatenating columns from multiple unrelated 1-row resultsets
每个子查询都将包含完全相同的日期范围。我已经尝试将 group by 放在每个子查询和外部查询中,但我似乎无法为每个日期组合每个子查询的行。我在 Hive 中使用这个查询,但我相信任何 ANSI SQL 都可以在这里工作。不要引用我的话。我的场景似乎与我发布的 link 中找到的答案略有不同,但我似乎无法让它发挥作用。
这是我在上面附加的 link 上发布的一个查询:
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?还是有更好的方法来达到相同的结果?
这是你想要的吗?
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;
我在这里发现了这个非常相似的问题,除此之外我想做的就是按日期分组。每个子查询中都有一个日期列。
concatenating columns from multiple unrelated 1-row resultsets
每个子查询都将包含完全相同的日期范围。我已经尝试将 group by 放在每个子查询和外部查询中,但我似乎无法为每个日期组合每个子查询的行。我在 Hive 中使用这个查询,但我相信任何 ANSI SQL 都可以在这里工作。不要引用我的话。我的场景似乎与我发布的 link 中找到的答案略有不同,但我似乎无法让它发挥作用。
这是我在上面附加的 link 上发布的一个查询:
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?还是有更好的方法来达到相同的结果?
这是你想要的吗?
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;