我有一个包含以下列的表:(这只是一个示例,我有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,谢谢。