Clickhouse-累计总和或运行总计以及总计的百分比

cag*_*cag 2 sql clickhouse

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
    
    Run Code Online (Sandbox Code Playgroud)

    我们正在寻找一个可以填充的脚本

    Product, Sales, PercenttoTotal
    
    P1, 100, 20%
    
    P2, 200, 40%
    
    P3, 150, 30%
    
    P4, 50,  10%
    
    Run Code Online (Sandbox Code Playgroud)

    是否可以通过Clickhouse中的各种功能快速完成此任务。提前致谢。

  • fil*_*nov 5

    占总数的百分比

    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
    
    Run Code Online (Sandbox Code Playgroud)

    累计金额或累计金额

    最新版本(v1.1.54310稳定)添加了对runningIncome函数的支持(尚未记录),该函数应与runningDifference一样工作,但应计算和而不是差。

    在github上也检查我对这个问题的答案: