Hello,
je souhaite effectuer un tri un peu particulier
SGBD: MySQL 5
Schéma: options( id_opt, nom_group_opt, nom, ordre)
Requete:
je souhaite afficher la liste des options avec en 1er les options ou l'ordre est définis en ordre croissant, puis ceux qui n'ont pas d'ordre mais en les classant par nom en fonction d'un groupe d'option
Concretement voila ma requete:
voila ce que j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT `options`.* FROM `options` WHERE (nom_group_opt = 'XXXX') ORDER BY `ordre` DESC, `nom` ASC
optionsA (ordre: 2)
optionsB (ordre: 1)
optionsD (ordre: null)
optionsE (ordre: null)
optionsF (ordre: null)
et je souhaiterais avoir:
optionsB (ordre: 1)
optionsA (ordre: 2)
optionsD (ordre: null)
optionsE (ordre: null)
optionsF (ordre: null)
le problème c'est que les options qui ont un ordre, sont classés dans l'ordre inverse. Si à la place de ORDER BY `ordre` DESC, `nom` ASC je le remplace par ORDER BY `ordre` ASC, `nom` ASC ben les éléments sans ordre passe devant:
optionsD (ordre: null)
optionsE (ordre: null)
optionsF (ordre: null)
optionsB (ordre: 1)
optionsA (ordre: 2)
Est ce que ça vous inspire.
Merci
Partager