【问题标题】:replicate Window_sum (tableau ) in oracle在 oracle 中复制 Window_sum (tableau)
【发布时间】:2015-04-16 01:36:32
【问题描述】:

我有这样的情景

SUBID     ID               Total   
2             0                  2
2             o                  2
2             0                   2
2              0                 2
3              1                 2
3              1                 2
3              1                2
4              1                  2
4               1               2

So now i should be getting   


2(Subjid)-->0 (我想要不同的(ID)))
3(Subjid)--->1(我想要不同的(ID))
4(Subjid)--->1 我想要不同的(ID))
所以我的总数应该是 0+1+1=2 我们可以在 oracle 中做到这一点吗?我知道我们可以在 tbaleau 中做到这一点,因为 window_sum() 在 sql 中想知道

【问题讨论】:

    标签: sql oracle aggregate-functions tableau-api


    【解决方案1】:

    假设我正确理解了您的逻辑,您可以像这样获得结果(注意,我假设您的示例数据中 subid = 2 的 o 是一个错误,它应该是 0):

    with sample_data as (select 2 subid, 0 id from dual union all
                         select 2 subid, 0 id from dual union all
                         select 2 subid, 0 id from dual union all
                         select 2 subid, 0 id from dual union all
                         select 3 subid, 1 id from dual union all
                         select 3 subid, 1 id from dual union all
                         select 3 subid, 1 id from dual union all
                         select 4 subid, 1 id from dual union all
                         select 4 subid, 1 id from dual union all
                         select 4 subid, 1 id from dual)
    select subid,
           id,
           sum(id_to_sum) over () total
    from   (select subid,
                   id,
                   case when row_number() over (partition by subid, id 
                                                order by subid, id) = 1 then id end id_to_sum
            from   sample_data);
    
         SUBID         ID      TOTAL
    ---------- ---------- ----------
             2          0          2
             2          0          2
             2          0          2
             2          0          2
             3          1          2
             3          1          2
             3          1          2
             4          1          2
             4          1          2
             4          1          2
    

    您可以看到Oracle支持的所有各种类型的分析函数in the documentation

    【讨论】:

      猜你喜欢
      • 2019-08-31
      • 2021-12-06
      • 2016-01-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      相关资源
      最近更新 更多