【问题标题】:Custom ROW_NUMBER Function自定义 ROW_NUMBER 函数
【发布时间】: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


【解决方案1】:

尝试dense_rank() over (order by d)

【讨论】:

    猜你喜欢
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    相关资源
    最近更新 更多