Sql 单击房屋-累计总和或运行总数以及占总数的百分比

Sql 单击房屋-累计总和或运行总数以及占总数的百分比,sql,clickhouse,Sql,Clickhouse,Clickhouse让我们深受鼓舞。然而,当我们试图将所有现有脚本移植到Clickhouse时,我们遇到了一些障碍。例如:累计和或运行总计。我们正试图找到窗口函数的等价物,例如,SUM(SALES)OVER(partitionbyproductorderbysales) 是否有一种方法可以获得累计和或运行总数。非常感谢您的任何意见或指导。谢谢 这是我关于Clickhouse(又是一个很棒的数据库)的第二个问题。我们必须移植脚本,该脚本计算“占总数的百分比” 例如 Product | Sales

Clickhouse让我们深受鼓舞。然而,当我们试图将所有现有脚本移植到Clickhouse时,我们遇到了一些障碍。例如:
累计和或运行总计
。我们正试图找到窗口函数的等价物,例如,
SUM(SALES)OVER(partitionbyproductorderbysales)
  • 是否有一种方法可以获得累计和或运行总数。非常感谢您的任何意见或指导。谢谢


  • 这是我关于Clickhouse(又是一个很棒的数据库)的第二个问题。我们必须移植脚本,该脚本计算“占总数的百分比”

    例如

    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中的各种功能快速完成此任务的方法。提前感谢。

    占总数的百分比

    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一样工作,但应计算总和而不是差值

    请在github上查看我对这些问题的回答:


    您是否能够共享您已经尝试过的代码或研究?我们已经尝试过各种选项—最明显的是(在没有窗口函数的情况下)查看联接—但此运行总计需要与(例如a1.Sales)进行自内联接(例如,您是否尝试过类似的操作:选择Sales/Sum(Sales)*100,其中?