我正在使用Oracle。
假设我有一张表格,里面有这个样本,随机的,内容:
columnA | columnB | content
--------------------------------
AfBkxZ | 292 | a
LDglkK | 181 | b
AfBkxZ | 51 | c
AfBkxZ | 315 | d
LDglkK | 808 | e
Cee89g | 1 | f
我希望有一个视图,其中a列中的每个值都有一个唯一的数字,并在a列具有该值的行中记录数字。
基于以上样本数据的期望结果:
Group_number | Record_number | columnB | content
------------------------------------------------
1 | 2 | 292 | a (1.2)
3 | 1 | 181 | b (3.1)
1 | 1 | 51 | c (1.1)
1 | 3 | 315 | d (1.3)
3 | 2 | 808 | e (3.2)
2 | 1 | 1 | f (2.1)
我可以用row_number() over (partition by columnA order by columnB asc)
获得record_number
。
如何获得group_number
,它实际上是旧columnA
的友好排序别名?
谢谢。
您可以使用dense_rank
对列A:进行编号
dense_rank() over (order by columnA)