clickhouse-累计和或运行总计和百分比合计

9rbhqvlz  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(1971)

clickhouse让我们深受鼓舞。然而,当我们试图将所有现有脚本移植到clickhouse时,我们遇到了一些障碍例如:CUMULATIVE SUM or RUNNING TOTAL . 我们试图找到一个窗口函数的等价物。 SUM(SALES) OVER (PARTITION BY PRODUCT ORDER BY SALES) 有没有一种方法可以得到累计和或运行总数。任何意见或指导都将不胜感激。谢谢!
这是我关于clickhouse的第二个问题(同样是一个很棒的数据库)。我们必须移植我们的脚本 "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中的各种功能来实现这一点。提前谢谢。

5w9g7ksd

5w9g7ksd1#

占总数的百分比:

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而不是difference。
也可以在github上查看我对这些问题的回答:
https://github.com/yandex/clickhouse/issues/1470
https://github.com/yandex/clickhouse/issues/1469

相关问题