2010-11-12 9 views
1

Les utilisateurs suivants sont présents dans notre base de données ..Comment pouvez-vous trier les champs qui ont des numéros dans un ordre mathématique

create table users (id, name); 

name [u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, ...] 

Si le champ ci-dessus est triée de façon ascendante, la sortie est la suivante ..

u1, u10, u11, u2, u3, u4 ... 

Est-il possible de trier ce dans l'ordre en haut (càd les chiffres simples, doubles chiffres ...)

+0

uel - http://stackoverflow.com/questions/153633/natural-sort-in-mysql – ajreal

Répondre

2

Essayez:

SELECT * 
FROM users 
ORDER BY CAST(SUBSTR(name FROM 2) AS UNSIGNED) 
2

Vous pouvez essayer ceci:

SELECT name 
FROM users 
ORDER BY LENGTH(name), name