Sql order by

Fermé
SAB - 20 avril 2011 à 13:27
 SAB - 20 avril 2011 à 14:13
Bonjour,

j'ai un problème avec un order by d'une requête sql et je n'ai pas trouver la solution
le champ de mon order by est un varchar (à cause de certains enregistrement) mais sinon la plupart du temps il s'agit de nombre entier.
et quand je fais un order by sur ce champ le tri se fais de cette façon
1
10
11
2
20 etc....
y'a t'il une solution pour que le tri se fasse normalement (1, 2,3 etc...) comme un int sans que je sois obliger de mettre des zéros devant?

Merci pour votre aide
SAB

2 réponses

DasSium95 Messages postés 673 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 13 avril 2016 134
20 avril 2011 à 13:34
le order by fonctionne très bien sur des varchar
0
j'ai jamais dis le contraire ca fonctionne ^^ je pensais avoir été suffisamment claire avec mes exemples. Je voudrais qu'il fonctionne comme un int (1-2-3-4-5-6-7-8-9-10) et non (1-10-2-3 ect...)
0
DasSium95 Messages postés 673 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 13 avril 2016 134
20 avril 2011 à 13:43
Donc il ne marche pas ton order by si tu as le résultat 1-10-2-3...
0
DasSium95 Messages postés 673 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 13 avril 2016 134
20 avril 2011 à 13:43
Met ta requête stp
0
$result = $bdd->query('SELECT j, cl FROM matchs WHERE saison="2010" ORDER BY j');
0
pour les varchar ca trie par ordre alphabétique donc pour moi la requête fonctionne (1-10-2-3..)
0
je crains que ce ne soit pas possible mais si quelqu'un peut me confirmer ou m'expliquer comment faire :)
Merci
0