在SQL中按键键组顺序编号行?

SQL中是否有一种方法可以按键组顺序添加行号?

假设一个具有任意(CODE,NAME)元组的表.示例表:

CODE NAME    
---- ----
A    Apple
A    Angel
A    Arizona
B    Bravo
C    Charlie
C    Cat
D    Dog
D    Doppler
D    Data
D    Down

使用CODE作为分组属性的所需投影:

CODE C_NO NAME    
---- ---- ----
A    0    Apple
A    1    Angel
A    2    Arizona
B    0    Bravo
C    1    Charlie
C    0    Cat
D    0    Dog
D    1    Data
D    2    Down
D    3    Doppler

谢谢,

解决方法

>
SQL Server

>
Oracle

>
Postgres

>
Sybase

MySQL没有AFAIK.这涵盖了大多数基地..

SELECT
    CODE,ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 As C_NO,NAME
FROM
    MyTable

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。