如何在 Presto 中不聚合的情况下进行 PIVOT
How to PIVOT without aggregation in Presto
我有一个 table 这样的:
并希望在没有聚合的情况下进行数据透视以获得如下所示的结果:
这在 standard [T]SQL 中很简单,但我需要在没有 PIVOT 功能的 Presto 中执行此操作。如何使用 Presto 函数做到这一点?
您可以使用 join
:
select t_us.display_name, t_us.site_count as us_cnt, t_for.site_count as for_cnt
from t t_us join
t t_for
on t_us.display_name = t_for.display_name and
t_us.locationtype = 'US' and
t_for.locationtype = 'FOR';
我会为此推荐条件聚合,但您特别要求另一种解决方案。
顺便说一下,PIVOT
是 bespoke 语法。这不是标准的。该方案和条件聚合都是SQL标准方案。
我有一个 table 这样的:
并希望在没有聚合的情况下进行数据透视以获得如下所示的结果:
这在 standard [T]SQL 中很简单,但我需要在没有 PIVOT 功能的 Presto 中执行此操作。如何使用 Presto 函数做到这一点?
您可以使用 join
:
select t_us.display_name, t_us.site_count as us_cnt, t_for.site_count as for_cnt
from t t_us join
t t_for
on t_us.display_name = t_for.display_name and
t_us.locationtype = 'US' and
t_for.locationtype = 'FOR';
我会为此推荐条件聚合,但您特别要求另一种解决方案。
顺便说一下,PIVOT
是 bespoke 语法。这不是标准的。该方案和条件聚合都是SQL标准方案。