Comment classer par ordre numérique avec MySQL ?

Réponses rédigées par Antoine
Dernière mise à jour : 2022-01-05 10:58:41
Thèmes : mysql - select
Question

Comment faire pour classer des chiffres par ordre numérique avec MySQL de telle manière à obtenir comme résultat : 1, 2, 3, 4, 5 etc., et pas 1, 10, 2, 20, 3 etc.

Réponse

Pour effectuer une requête SELECT, et classer les résultats par ordre numérique, vous pouvez convertir les résultats en entier binaire avec la fonction CAST et les propriétés UNSIGNED et INTEGER, puis utiliser la fonction ORDER BY.

SELECT * FROM table ORDER BY CAST(colonne AS UNSIGNED INTEGER) ASC

Remarque : Il est préférable que la colonne soit au format INT, TINYINT, MEDIUMINT, ou BIGINT.