A partir de cette table Obtenir ce résultat
NUM | REF | QTE | PRIX | LN | NUM | REF | QTE | PRIX | |
F114895 | BOITE12 | 5 | 5,00 € | 1 | F114895 | BOITE12 | 5 | 5,00 € | |
F114895 | VIS | 4 | 6,00 € | 2 | F114895 | VIS | 4 | 6,00 € | |
F114895 | COCA | 1 | 7,00 € | 3 | F114895 | COCA | 1 | 7,00 € | |
F114896 | BOIT16 | 1 | 8,00 € | 1 | F114896 | BOIT16 | 1 | 8,00 € | |
F114896 | PAPIER | 10 | 9,00 € | 2 | F114896 | PAPIER | 10 | 9,00 € | |
F114896 | BOITE20 | 22 | 10,00 € | 3 | F114896 | BOITE20 | 22 | 10,00 € | |
F114896 | BIC | 1 | 11,00 € | 4 | F114896 | BIC | 1 | 11,00 € | |
F114897 | FIC15 | 45 | 12,00 € | 1 | F114897 | FIC15 | 45 | 12,00 € | |
F114897 | COCA | 1 | 13,00 € | 2 | F114897 | COCA | 1 | 13,00 € | |
F114897 | PAIN | 10 | 14,00 € | 3 | F114897 | PAIN | 10 | 14,00 € | |
F114897 | FROMAGE | 12 | 15,00 € | 4 | F114897 | FROMAGE | 12 | 15,00 € |
La requête MySQL :
UPDATE CDE AS a LEFT JOIN ( SELECT NUM FROM CDE GROUP BY NUM ) AS b ON b.NUM=a.NUM SET LN = @ordre := IF(a.NUM= @NUM_mem, @ordre+1, ( @NUM_mem:=b.NUM) OR @ordre:=1) WHERE b ON b.NUM=a.NUM
Si vous avez plus simple je suis peneur