Clickhouse非常鼓励我们。但是,当我们尝试将所有现有脚本移植到Clickhouse时,我们遇到了很少的障碍。 例如: CUMULATIVE SUM or RUNNING TOTAL
。我们试图找到一个等效的窗口函数,例如SUM(SALES) OVER (PARTITION BY PRODUCT ORDER BY SALES)
"Percent to total"
。
例如
Product | Sales
P1 100
P2 200
P3 150
P4 50
我们正在寻找可以填充
的脚本Product, Sales, PercenttoTotal
P1, 100, 20%
P2, 200, 40%
P3, 150, 30%
P4, 50, 10%
通过Clickhouse中的各种功能可以快速实现这一目标。提前谢谢。
答案 0 :(得分:4)
百分比:
SELECT
productid,
count() as per_product_count,
per_product_count * 100 / ( SELECT count() from prod_sales ) as percent_to_total
FROM prod_sales
GROUP BY productid
累计金额或总计:
最新版本(v1.1.54310-stable)添加对函数runningIncome(尚未记录)的支持,该函数应该与runningDifference一样,但应该计算sum而不是差值。
在github上查看我对这个问题的回答: