我有一个 Oracle 11g 表,如下所示:
id name department
1 John Accounting
2 Frederick BackOffice
3 Erick Accounting
4 Marc BackOffice
5 William BackOffice
6 Pincton Accounting
7 Frank Treasury
8 Vincent BackOffice
9 Jody Security
我想查询获取所有记录的表,并为每个记录分配一个序列给部门,所以结果将是这样的:
1 John Accounting 1
2 Frederick BackOffice 2
3 Erick Accounting 1
4 Marc BackOffice 2
5 William BackOffice 2
6 Pincton Accounting 1
7 Frank Treasury 4
8 Vincent BackOffice 2
9 Jody Security 3
我知道我可以得到他们部门内每条记录的序列号,使用 rownum over partition by ...,问题是我如何在组级别做“相同”,为每个组分配一个序列(假设order 是按部门名称,如示例中所示)。有任何想法吗?