SQL trier des nombres "logiquement"
Résolu/Fermé
Vincent
-
3 sept. 2008 à 11:37
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 3 sept. 2008 à 13:45
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 - 3 sept. 2008 à 13:45
A voir également:
- SQL trier des nombres "logiquement"
- Excel trier par ordre croissant chiffre - Guide
- Code binaire des nombres - Guide
- Application gratuite pour trier les photos - Guide
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum LibreOffice / OpenOffice
- Triez ce tableau par ordre alphabétique des prénoms - Forum LibreOffice / OpenOffice
5 réponses
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 388
3 sept. 2008 à 13:27
3 sept. 2008 à 13:27
Bonjour Vincent,
En fait tu ne peux pas convertir ta colonne vers un nombre car elle contient parfois des lettres, par contre le code suivant devrait faire ce que tu veux
L'instruction LPAD va rajouter un ou deux zéros ou aucun devant la variable Dept
Exemple:
Dept = 1 , LPAD(Dept,2,'00') = 01
Dept = 10 , LPAD(Dept,2,'00') = 10
A plus
En fait tu ne peux pas convertir ta colonne vers un nombre car elle contient parfois des lettres, par contre le code suivant devrait faire ce que tu veux
SELECT id , Dept, Nom FROM nomdetatable ORDER BY LPAD(Dept,2,'00')
L'instruction LPAD va rajouter un ou deux zéros ou aucun devant la variable Dept
Exemple:
Dept = 1 , LPAD(Dept,2,'00') = 01
Dept = 10 , LPAD(Dept,2,'00') = 10
A plus
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 388
3 sept. 2008 à 11:51
3 sept. 2008 à 11:51
Bonjour,
Avant de pouvoir t'aider, j'ai besoin de deux petits renseignements:
1°) Quelle base de données utilises-tu ? (Mysql , Access, Sql Server, ....)
2°) De quel type est la colonne Dept ? (Numérique, Caractère , ...)
Merci et a plus
Avant de pouvoir t'aider, j'ai besoin de deux petits renseignements:
1°) Quelle base de données utilises-tu ? (Mysql , Access, Sql Server, ....)
2°) De quel type est la colonne Dept ? (Numérique, Caractère , ...)
Merci et a plus
Bonjour
Tu as sûrement défini ton champ Dept comme étant un type texte, et tu veux le trier comme numérique.
Tu peux modifier son type qpour qu'il soit numérique (ce qui semble plus logique, mais peut avoir des conséquences ailleurs dans ton application) ou forcer explicitement la manière de trier :
ORDER BY CAST (`Dept` AS UNSIGNED)
Tu as sûrement défini ton champ Dept comme étant un type texte, et tu veux le trier comme numérique.
Tu peux modifier son type qpour qu'il soit numérique (ce qui semble plus logique, mais peut avoir des conséquences ailleurs dans ton application) ou forcer explicitement la manière de trier :
ORDER BY CAST (`Dept` AS UNSIGNED)
Re ;)
Merci de vos réponses !
Christounet : j'utilise mysql et le champ est texte à cause de la corse (2A et 2B).
Toto : Sql me renvoie une erreur avec "UNSIGNED".
Vous y voyez plus clair ???
Vincent
Merci de vos réponses !
Christounet : j'utilise mysql et le champ est texte à cause de la corse (2A et 2B).
Toto : Sql me renvoie une erreur avec "UNSIGNED".
Vous y voyez plus clair ???
Vincent
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et Dieu créa Christounet !
Bravo, ca marche nickel, merci !
Bravo, ca marche nickel, merci !
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 388
3 sept. 2008 à 13:45
3 sept. 2008 à 13:45
Bonjour Vincent,
Bien content pour toi que cela fonctionne.
Très bonne journée et à plus
Bien content pour toi que cela fonctionne.
Très bonne journée et à plus