Bonjour,

Je cherche à extraire des id de ma base, dans l'ordre croissant :

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
Seulement les chiffres ont été enregistrés ainsi : 1,2...8, 9, 10...

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