Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2444 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème de tri avec des nombres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de tri avec des nombres

n°1966157
lofo7
Posté le 15-02-2010 à 15:51:54  profilanswer
 

Bonjour,
j'ai une liste de nombres dans ma base de données et quand je les tri dans l'ordre croissant j'obtiens :
 
1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 3 ...
 
et j'aimerais tout naturellement :
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
 
C'est la première fois que je vois ça. Comment remédiez à ce problème ?
 
Merci
Maxime

mood
Publicité
Posté le 15-02-2010 à 15:51:54  profilanswer
 

n°1966163
rufo
Pas me confondre avec Lycos!
Posté le 15-02-2010 à 15:56:34  profilanswer
 

Tes nombres se trouvent très probablement dans un champ de type texte (char, varchar...). Faut modifier le type du champ en integer.
Après, ça peut venir aussi d'un option spéciale qui aurait été précisée dans la clause ORDER BY ou d'un transtypage du champ d'integer en varchar. mais le plus probable reste ce que j'ai dit au début.


---------------
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
n°1966164
lofo7
Posté le 15-02-2010 à 16:01:59  profilanswer
 

Bien vu c'est bien cela. Mais ça ne m'arrange pas trop de mettre le champ en integer. En fait ces numéros correspondent aux numéros d'albums de bandes dessinées que je possède. Et parfois il y a des hors-séries que je note HS1, HS2,...
C'est pour ça que j'avais mis le champ en varchar. Est-ce que je suis obligé de créer une nouvelle colonne pour signaler les hors-série ?
 
Merci !

n°1966166
t'inquete
Tapis à GOGO
Posté le 15-02-2010 à 16:08:29  profilanswer
 

Utilise l'option INET_ATON si tu stockes tes nombres dans un varchar

n°1966168
couak
Posté le 15-02-2010 à 16:22:24  profilanswer
 

la fonction INET_ATON() c'est pour convertir une adresse internet en valeur numérique, pas sûr que ca marche....
 
pour ton tri, sous mysql y'a une astuce : http://www.757.org/~joat/wiki/inde [...] g_in_MySQL

n°1966171
lofo7
Posté le 15-02-2010 à 16:33:27  profilanswer
 

Nickel c'est ce que je voulais. Mais le problème maintenant c'est que lors d'un tri ascendant les hors-séries (HS1, HS2,...) se retrouvent en haut de la liste, alors qu'avant ils étaient en bas vu qu'il n'y avait pas de zéro devant.
Je ne pense qu'il y ait de solutions en revanche pour ce soucis. Je vais me débrouiller avec des if et des else sinon.
 
Merci beaucoup pour l'astuce couak.

n°1966179
t'inquete
Tapis à GOGO
Posté le 15-02-2010 à 17:02:44  profilanswer
 

couak a écrit :

la fonction INET_ATON() c'est pour convertir une adresse internet en valeur numérique, pas sûr que ca marche....
 


Convertir une IP en binaire ou un chiffre en binaire n'a pas d'importance.
J'utilise cette fonction pour trier mes chiffres et ca fonctionne ;)
 
La méthode de ton lien fonctionne également.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème de tri avec des nombres

 

Sujets relatifs
probleme de modele sou firefox mais pas sous IE [voir fin post ]probleme referencement (prise en compte balise meta + contenu texte)
Problème WordpressProblème génération nombres aléatoires
[RESOLU][ORACLE] Sequence - Probleme avec les nombres générésgénérateur de nombres aléatoires sous Matlab : problème
[C] Probleme nombres aléatoires tous differents[python] problème avec les nombres réels
[java] problème avec la précision des nombres réels[Pascal] problème de nombres ... ???
Plus de sujets relatifs à : Problème de tri avec des nombres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR