【发布时间】:2018-03-24 17:03:15
【问题描述】:
有没有办法编写一个 row_number() 函数来实现下面标题为 (HELP HERE) 的列?我希望能够根据 d 列中的数据将 a 到 d 列排列到存储桶中。
a b c d (HELP HERE)
1603 82 117276 36 1
1603 82 117276 36 1
1603 82 117276 37 2
1603 82 117276 37 2
如果我尝试row_number() over (partition by a,b,c order by d),数据会这样反应
a b c d (HELP HERE)
1603 82 117276 36 1
1603 82 117276 36 2
1603 82 117276 37 1
1603 82 117276 37 2
【问题讨论】:
-
rank()或dense_rank()窗口函数应该这样做。这是一个解释差异的 SO 问题:stackoverflow.com/questions/11183572/… -
??如果您尝试显示的 row_number(),HELP HERE 列的值将是 1、2、3、4,而不是显示的 1、2、1、2。
标签: sql oracle window-functions