【问题标题】:Redshift - Find % as compared to total valueRedshift - 查找与总值相比的百分比
【发布时间】:2018-12-14 02:53:10
【问题描述】:

我有一张按产品计数的表格。我正在尝试添加一个新列,与该列中所有行的总和相比,该列可以找到 %。

prod_name,count
prod_a,100
prod_b,50
prod_c,150

例如,我想找到 prod_a 与总数相比的百分比等等。

预期输出:

prod_name,count,%
prod_a,100,0.33
prod_b,50,0.167
prod_c,150,0.5

在 SQL 上编辑:

select count(*),ratio_to_report(prod_name)
over (partition by count(*)) 
from sales
group by prod_name;

【问题讨论】:

    标签: sql amazon-redshift


    【解决方案1】:

    使用窗口函数。

    select t.*,100.0*cnt_by_prod/sum(cnt_by_prod) over() as pct
    from tbl t
    

    编辑:根据 OP 的问题变化,要计算计数和百分比,请使用

    select prod_name,100.0*count(*)/sum(count(*)) over()
    from tbl
    group by prod_name
    

    【讨论】:

    • 我已经用我用来按 prod_id 分组计数的 SQL 编辑了我的帖子。你能帮我调整一下这个以找到与总数相比的百分比。谢谢
    猜你喜欢
    • 2020-04-15
    • 2020-09-15
    • 1970-01-01
    • 2021-11-22
    • 2017-05-29
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多