2017-10-16 15 views
1

J'ai une table avec 2 colonnes (ID, IdResponsible) Je dois créer une procédure qui pour chaque enregistrement dans ce tableau, la colonne IdResponsible est rempli avec le compteur 1 à 4.Mysql Procédure pour la division des dossiers

Si de compteur> 4 puis compteur = 1 nouveau

Comment puis-je faire cela?

Répondre

2

Vous pouvez générer un numéro de ligne de classement et le réinitialiser toutes les 4 lignes. Comme ceci:

SELECT t.id, 
    CASE WHEN @rownum >= 4 THEN @rownum := 1 
     ELSE @rownum := @rownum + 1 END AS IdResponsible 
FROM table1 t, (SELECT @rownum := 0) r; 

demo

Cela vous donnera quelque chose comme:

| id | IdResponsible | 
|----|---------------| 
| 1 |    1 | 
| 2 |    2 | 
| 3 |    3 | 
| 4 |    4 | 
| 5 |    1 | 
| 6 |    2 | 
| 7 |    3 | 
| 8 |    4 | 
| 9 |    1 | 
+0

WOW !! Merci, ça marche !! – fabinho