【发布时间】:2018-05-14 05:07:38
【问题描述】:
我正在处理 PLSQL (Oracle 12) 的查询,其中我需要为每个组增加数据集的行号。
我的问题与这个问题(Increment Row Number on Group)类似。但是,我有一个稍微不同的情况。我在数据上重复了相同的 shade,并且我想在分组时保持原始顺序。
以下数据
Level | Shade
-------------
1 | A
2 | A
3 | A
4 | B
5 | B
6 | B
7 | A
8 | A
9 | A
我想得到以下结果
Group | Shade | Amount
----------------------
1 | A | 3
2 | B | 3
3 | A | 3
如果我使用 DENSE_RANK 函数按 Shade 排序,我无法保持原来的顺序,这就是我得到的:
Group | Shade | Amount
----------------------
1 | A | 6
2 | B | 3
分组时如何保持原来的分组模式?
【问题讨论】:
标签: sql oracle group-by dense-rank