[RESOLU] Requete ORDER BY ordonnée comme je veux :)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Requete ORDER BY ordonnée comme je veux :)

Re: Requete ORDER BY ordonnée comme je veux :)

par nagstef » 30 nov. 2017, 14:49

Super, je te remercie sincèrement, pour moi, et peut-etre pour ceux qui se sentent obligés de donner une valeur à leurs informations, afin d'ordonner avec une valeur numérique.
L'avantage de la jointure, c'est de pouvoir rajouter simplement une info à ordonner, sans modifier la requete à chaque fois, mais pour une utilisation ponctuelle, ta méthode me parait impecc..

Merci encore, Stéphane

Re: Requete ORDER BY ordonnée comme je veux :)

par @rthur » 30 nov. 2017, 14:37

Bonjour,

Très bonne question que je m'étais jamais posée mais du coup j'ai cherché et j'ai appris des trucs ! :)

Avec MySQL tu peux directement indiquer l'ordre des champs que tu souhaites, comme ceci :
SELECT * FROM ma_table ORDER BY FIELD(poste_travail,'Directeur','Directeur adjoint','Économe','Animateur')


Ou sinon en pur SQL qui devrait marcher quelque soit le moteur de base de données :
SELECT * FROM ma_table
ORDER BY CASE poste_travail
    WHEN 'Directeur' THEN 1 
    WHEN 'Directeur adjoint' THEN 2 
    WHEN 'Animateur' THEN 3 
    END 

Requete ORDER BY ordonnée comme je veux :)

par nagstef » 30 nov. 2017, 13:59

Bonjour,

Y-a t'il un moyen d'ordonner les réponses à une requete en fonction d'un autre ordre que croissant, décroissant, alphabétique ou numérique.

En effet, dans ma table, j'ai des postes de travail (Directeur, directeur adjoint, econome, animateur, etc ...) et je souhaiterais afficher les résultats en plaçant par ordre directeur, directeur adjoint, animateur, econome, etc ...

Y-a t'il un moyen de noter dans le ORDER BY, l'ordre que je privilégie ?

Au final, je ferai une jointure si une solution plus simple n'existe pas.

En vous remerciant. Stéphane