admin

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

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

谢谢,


阅读 179

收藏
2021-05-10

共1个答案

admin

MySQL不支持。这涵盖了大多数基地。

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