Comment décrémenter toutes les valeurs d'une colonne

Comment décrémenter toutes les valeurs d'une colonne - SQL/NoSQL - Programmation

Marsh Posté le 25-10-2012 à 16:55:50    

Bonjour,
 
J'aurais besoin de décrémenter (je ne sais pas si le terme est correct) la valeur de toute une colonne de 1
 
Je m'explique j'ai une colonne avec environ 12000 entrées.
Ces entrées sont toutes égales à 999999
j'aurais besoin des modifier ces entrées de 1 en faisant  
999999-1 = 999998
puis
999998-1=999997
puis
999997-1=999996
puis etc
Tout ceci une seule fois en utilisant une requete sql via php my admin
Est-ce que quelqu'un sait si c'est possible ?
Merci

Reply

Marsh Posté le 25-10-2012 à 16:55:50   

Reply

Marsh Posté le 25-10-2012 à 16:57:53    

Code :
  1. UPDATE tatable SET tacolonne = tacolonne - 1


à tester, j'ai un doute

Message cité 1 fois
Message édité par Harkonnen le 25-10-2012 à 16:58:22

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 25-10-2012 à 17:07:54    

J'aimerais bien rajouter un limit non ?  :D

Reply

Marsh Posté le 26-10-2012 à 17:00:30    

Harkonnen a écrit :

Code :
  1. UPDATE tatable SET tacolonne = tacolonne - 1


à tester, j'ai un doute


 
Sur du Mysql, ça fonctionne en tout cas.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 29-10-2012 à 10:51:10    

merci mais cette solution décrémente toute la colonne de la valeur de 1 sans repartir de la valeur précédente, je pense que je vais passer par Excel ça sera plus simple.
merci qd même

Reply

Marsh Posté le 29-10-2012 à 11:16:47    

Bon ben vu que ca a pas l'air d'etre ce que Harkonnen a mis ca devrai etre plus un truc comme ca (SQL Server uniquement):

Code :
  1. UPDATE #MaTable
  2.     SET Colonne2 = a.n
  3. FROM (
  4.     SELECT Colonne1, Colonne2 - (ROW_NUMBER() OVER (ORDER BY Colonne1) - 1) n
  5.     FROM #MaTable
  6.     ) a
  7.     JOIN #MaTable b on b.Colonne1 = a.Colonne1


 
L'equivalent doit probablement exister sur MySQL, mais faudra peut etre chercher un peut.
 
ps: Résultat:

Code :
  1. Colonne1 Colonne2
  2. 0002E3DA-2F26-42BA-80A4-32282FCE0354 999999
  3. 000508C0-0424-4AA6-9F0D-5119E2128181 999998
  4. 000AF5E5-DF69-4462-AFB9-E53F58C39172 999997
  5. 000BD40B-935D-465E-8A63-A073A34425E6 999996
  6. 000DE33F-FBB0-428A-9C92-F0015B450393 999995
  7. 001C465E-EF92-4773-8EA0-402775B5CCB7 999994
  8. 00202C92-A013-4781-989B-882729EDB0F0 999993
  9. 0027DF91-DF7B-48BC-ACB4-5B96D86D89AF 999992
  10. ...


Message édité par Oliiii le 29-10-2012 à 11:19:03
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed