我有下表
Id Value
1 3
1 12
1 67
2 7
2 99
5 30
5 33
5 4
5 87
5 12
5 1
我想更新它以包含这张表。
Id UniqueIdBySubSet Value
1 1 3
1 2 12
1 3 67
2 1 7
2 2 99
5 1 30
5 2 33
5 3 4
5 4 87
5 5 12
5 6 1
我在 SO 上找到了完美的线程,但它是针对 mssql 的。我使用 mysql 4.1.10。
另一个线程可以在这里找到:Generating sequences for subsets of a table .
有谁知道我如何在 mysql 中做到这一点?
谢谢, 让-弗朗索瓦
最佳答案
SET @r := 0;
SET @id := 0;
UPDATE mytable m
SET m.UniqueIdBySubSet = IF(@id = id, @r := @r + 1, @r := (@id := id) - id)
ORDER BY
id, value;
关于MYSQL - 在表中生成子集序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/935823/