MySQL Numéroter les lignes d’une facture

                   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

     

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ninety − = eighty three