我正在努力寻找分区下表(db2)的方法:
ID1 ID2
--- ---
110 A
110 B
110 C
238 D
238 E
228 F
300 G
300 H
300 I
我想创建一个索引列,按ID1分区,如下所示:
ID1 ID2 INDEX
--- --- -----
110 A 1
110 B 1
110 C 1
238 D 2
238 E 2
228 F 2
300 G 3
300 H 3
300 I 3
听起来很简单吧?我正在尝试使用row_number() over (parition by order by)
方法执行此操作。
我在尝试:
row_number() over (parition by ID1 order by ID1)
然而这给了我:
ID1 ID2 INDEX
--- --- -----
110 A 1
110 B 2
110 C 3
238 D 1
238 E 2
228 F 3
300 G 1
300 H 2
300 I 3
我也尝试过dense_rank,但这会将INDEX中的每个条目标记为1。
有人能指出我正确的方向吗?
感谢。
答案 0 :(得分:1)
你想:
dense_rank() over (order by id1)