给定一个包含以下列的表:
Date, Type
我正在运行以下sql:
SELECT Type, count(*) as CountPerType
FROM myTable
WHERE Date between 20200101 and 20200131
GROUP BY count(*)
我想要一个额外的专栏 Percentage
这将有 100.0 * CountPerType / SUM(CountPerType)
. 在prestodb(亚马逊雅典娜的动力)中最有效的方法是什么?
2条答案
按热度按时间bq8i3lrv1#
您可以使用窗口功能来实现这一点。您应该始终按非聚合字段进行分组。
4uqofj5v2#
我将编写没有子查询的查询。可以混合使用窗口函数和聚合函数:
我不知道性能是否与使用子查询的版本不同(这至少应该是一样好的)。但问题显然更简单。