Ich habe folgende TabelleMYSQL - Erzeugen von Teilmenge Sequenz in einer Tabelle
Id Value
1 3
1 12
1 67
2 7
2 99
5 30
5 33
5 4
5 87
5 12
5 1
Ich mag es zu aktualisieren, um diese Tabelle zu haben.
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
Ich fand den perfekten Thread auf SO, aber es war für mssql. Ich benutze MySQL 4.1.10. Der andere Thread kann hier gefunden werden: Generating sequences for subsets of a table.
Weiß jemand, wie ich das in mysql tun kann?
Danke, Jean-Francois
Hallo, ich habe versucht und Ihre Antwort testen, und es funktioniert nicht. Hier ist der Wert, den ich für das Beispiel dort oben bekomme. 1, 1, 3 1, 2, 12 1, 3, 67 2, 1, 7 2, 2, 99 5, 3, 1 5, 4, 4 5, 5, 12 5 , 6, 30 5, 7, 33 5, 8, 87 Ich arbeite seit etwa 20 Minuten damit, aber es scheint nicht zu funktionieren. Die Idee scheint jedoch großartig, ich denke, es könnte funktionieren. Wenn Sie eine Idee haben, zögern Sie nicht, weitere Informationen hinzuzufügen. –
Ich konnte es zum Laufen bringen. Aber der erste Index ist nicht mehr 1, sondern 0. SET @r: = -1; SET @id: = -1; AKTUALISIERUNG mytable m SET m.UniqueIdBySubSet = FALL WANN @id = 0 DANN @r: = (@id: = m.Id) - m.Id WANN m.Id = @id DANN @r: = @r + 1 ELSE @r: = (@id: = m.Id) - m.Id ENDE ORDER BY m.Id, m.Value; Danke für die Eingabe. Es wurde sehr geschätzt. –