0

如何在没有任何顺序的情况下使用 row_number() 函数

示例表:

COL A           COL B
42123345990000  0
42123345990000  0.33333334
42123345990000  0.6666667
42123345990000  1
42123345990000  0.86340976
42123345980000  0
42123345980000  0.1
42123345980000  0.2
42123345980000  0.3432426
42123345980000  0.5
42123345980000  0.53144264

Desired Output:

ROW     COL A           COL B
1   42123345990000  0
2   42123345990000  0.33333334
3   42123345990000  0.6666667
4   42123345990000  1
5   42123345990000  0.86340976
1   42123345980000  0
2   42123345980000  0.1
3   42123345980000  0.2
4   42123345980000  0.3432426
5   42123345980000  0.5
6   42123345980000  0.53144264

我希望分区存在于 COL A 上,但没有排序。

4

1 回答 1

0

对没有排序的 row_number 问题的一般答案是对常数进行排序 - row_number() over (order by 1)

在您的情况下,预期的输出显示行号实际上是基于 col b 值的排名,所以您真正想要的是 -dense_rank() over(按 COLB 排序)

于 2020-03-26T13:03:29.803 回答