|
with t as(
select 1 a,'A'b from dual union
select 1 a,'B'b from dual union
select 1 a,'A'b from dual union
select 2 a,'B'b from dual union
select 2 a,'C'b from dual union
select 3 a,'A'b from dual union
select 4 a,'A'b from dual union
select 4 a,'D'b from dual union
select 4 a,'E'b from dual union
select 5 a,'A'b from dual)
select distinct a, cnt
from t
model
dimension by (a,row_number()over(partition by a order by a,b) rn)
measures (0 cnt,b)
rules (
cnt[any,any] order by a, rn = count(distinct b)[a<=cv(),any]
)
order by a; |
|