用取决于FK mysql的序列号更新列

时间:2019-06-26 21:17:44

标签: mysql sorting

我有一个包含以下列的表:(这只是一个示例,我有34K条记录)

Activity,   FK,   Number

Act A       1     Null
Act B       1     Null
Act C       1     Null
Act D       2     Null
Act E       2     Null
Act F       2     Null
Act G       2     Null
Act H       3     Null
Act I       3     Null
Act J       4     Null
Act K       4     Null
Act L       4     Null

我需要使用取决于FK的序列号来更新数字,因此它将看起来像这样:

Activity,   FK,   Number

Act A       1     1
Act B       1     2
Act C       1     3
Act D       2     1
Act E       2     2
Act F       2     3
Act G       2     4
Act H       3     1
Act I       3     2
Act J       4     1
Act K       4     2
Act L       4     3

到目前为止,我想出了这个方法,但这只会创建一个对所有外键进行排序的关联函数

SELECT
    Activity,
    FK,
    @order := @order + 1 as Number
FROM
    table, (SELECT @order := 0) order
ORDER BY
    FK ASC

我不知道在de FK更改时如何将变量@order重置为1,谢谢。

0 个答案:

没有答案