【问题标题】:Redshift - Find percentage of contribution by categoryRedshift - 按类别查找贡献百分比
【发布时间】:2020-09-15 19:27:45
【问题描述】:

我的数据格式如下:

product, person
prod_a, person_1
prod_a, person_2
prod_a, person_3
prod_b, person_1

我试图找出每个人对每种产品的贡献百分比。预期输出是:

product, person, prct
prod_a, person_1, 0.33
prod_a, person_2, 0.33
prod_a, person_3, 0.33
prod_b, person_1, 1

【问题讨论】:

    标签: sql select count amazon-redshift window-functions


    【解决方案1】:

    你可以使用窗口函数:

    select
        product,
        person,
        1.0 * count(*) over(partition by product, person) 
            / count(*) over(partition by product) as prct
    from mytable
    

    如果,如您的示例数据所示,没有重复的(product, person) 元组,那么就简单一点:

    select
        product,
        person,
        1.0 / count(*) over(partition by product) as prct
    from mytable
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多