Bonjour,
Je cherche à extraire des id de ma base, dans l'ordre croissant :
Seulement les chiffres ont été enregistrés ainsi : 1,2...8, 9, 10...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT DISTINCT `num` FROM table ORDER BY `num` ASC LIMIT 0 , 30
Et le résultat du tri est : 0, 1, 10, 11...20, 21... 3, 4...
Je voudrais que le 10 vienne après le 9 (c'est fou ça). J'ai pensé à str_pad() mais cela ne me plait pas, ensuite il faudrait enlever les 0 en trop pour l'affichage, je trouve que c'est beaucoup de code pour pas grand-chose. Connaissez-vous une technique pour conserver les valeurs sans 0 devant, et qui permettrait un tri dans l'ordre souhaité ?
Merci d'avance !
Edit : un LPAD dans la requête aurait le même effet que le str_pad() je pense ? Je vais essayer un ORDER BY CAST
Partager