SQL分析功能-如何为分区分配编号?

问题描述

| 我正在使用Oracle。 假设我有一张桌子,上面有这个随机的样本:
columnA     | columnB  | content
--------------------------------
AfBkxZ      | 292      | a
LDglkK      | 181      | b
AfBkxZ      | 51       | c
AfBkxZ      | 315      | d
LDglkK      | 808      | e
Cee89g      | 1        | f
我想在其中有一个视图,在此视图中columnA中的每个值都有一个唯一的编号,并在columnA具有该值的行中记录编号。 根据上面的示例数据获得所需结果:
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
。 如何获得实际上是旧actually5的友好序列别名的ѭ4? 谢谢。     

解决方法

        您可以使用
dense_rank
对columnA进行编号:
dense_rank() over (order by columnA)