sql - 使用 Oracle SQL 查询为组中的每个元素添加序列号

标签 sql oracle oracle11g

我有一个包含以下数据的 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/

相关文章:

sql - 如何通过任意节点获取树(SQL)

java - 无法将时间写入数据库,只能写入日期。时间被忽略

sql - 将使用加号 (+) 的 Oracle 连接语法转换为标准连接语法

c# - 是否可以停止执行 sql 查询?

sql - ORA-00972 : Identifier is too long

mysql - Sql 计算两列的行数,其中 col1 与 col2 相同

sql - sql server单行多列成一列

SQL表设计建议

oracle - 无法从 Azure VM 外部访问 Oracle Enterprise Manager

c++ - 在Qt中插入数据库