这是我被赋予的一项任务,以根据我从,和 inner_index_group的, ,中qty
获得的(数量) 。outer_index_group
dense_rank
col1
col2
col3
row_number
col1
col2
col3
这里的规则:
1)在每个里面outer_index_group
,如果col4
有 4055 和 4086,qty
我应该得到在第inner_index_group
4086 行,通常在inner_index_group
3 或 2。
2-否则如果col4
只有4055,直接从行中获取数量。
结果是这样的
你觉得我会怎么做?我正在考虑,case when
但我不知道如何处理这种情况。
非常感谢。
SELECt col1,col2,col3,col4,qty
,dense_rank() over (order by col1,col2,col3) as outer_index_group
, ROW_NUMBER() over (partition by col1,col2,col3 order by col1,col2,col3) as inner_index_group from table