我有一个包含以下数据的 Oracle 表:
ID VALUE
10 A
10 B
10 C
20 A1
30 C1
30 D1
我想根据 ID 列进行分组,并在每个组内打印一个带有序列号的新列。输出将如下所示:
ID VALUE GROUPSEQ
10 A 1
10 B 2
10 C 3
20 A1 1
30 C1 1
30 D1 2
这可以使用 Oracle SQL 查询完成,而无需创建临时表吗?
最佳答案
您需要 ROW_NUMBER
SELECT ID, VALUE, row_number() OVER (PARTITION BY ID ORDER BY value) GROUPSEQ
FROM myTable
关于sql - 使用 Oracle SQL 查询为组中的每个元素添加序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32334861/