ORDER BY SPECIFIQUE

Signaler
Messages postés
1
Date d'inscription
dimanche 17 octobre 2004
Statut
Membre
Dernière intervention
16 février 2010
-
Messages postés
5
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
7 septembre 2011
-
Bonjour je suis a la recherche d'un code pour pouvoir faire un order by specifique, je m'explique.

Disons que je récupère par le biais d'une requette une liste d'utilisateur oû figure un champ cp (code postal des département 59 62 80 et + a avenir )

Je chercher a pouvoir faire sur cette requette un order by mais assez specifique en mettant dabord les cp des 62 puis 59 puis le reste sauf que le champ que je recupere correspond au cp complet exmeple 59123 62864 etc...

Si je fait order by cp desc je ne vais pas avoir en premier ceux du 62.

Serai t-il possible de lister grace à order by dans le style : ORDER BY cp ('62%','59%')

Merci d'avance

2 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut,

Tu rajoutes dans la base une colonne pour faire le tri

That's all:-)
Messages postés
5
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
7 septembre 2011

Bonjour,

au risque d'arriver trop tard, je prend le temps de répondre quand même.

utilise un CASE dans ton ORDER BY

exemple :

SELECT *
FROM util
ORDER BY CASE WHEN util.cp LIKE '62%' THEN 1 WHEN util.cp LIKE '59%' THEN 2 ELSE 99 END;

Les valeurs 1,2 et 99 indiquent l'ordre du tri.
On retrouve donc avec les utilisateurs du 62, puis du 59, puis tous les autres.

Voilà.
Bonne continuation.