[RESOLU] tri sur 2 colonnes avec NULL

Mammouth du PHP | 1967 Messages

26 sept. 2012, 19:14

Bonjour à tous,

J'ai un résultat de requète que je shématise ci dessous

Code : Tout sélectionner

c1 c2 ______ 44 NULL 45 44 46 44 47 44 48 NULL 49 46 50 44 51 48
Je voudrais trouver la clause ORDER BY qui me permettra de les trier comme ceci
les NULL de la 2ème colonne en premier, suivi d'un classement par la première colonne.

Le problème est que pour avoir les NULL en premier je dois mettre un c2 ASC mais il me trie les non null aussi ce qui m'empèche de faire mon tri sur c1
Je voudrais obtenir :

Code : Tout sélectionner

c1 c2 ______ 44 NULL 48 NULL 45 44 46 44 47 44 49 46 50 44 51 48
et non pas

Code : Tout sélectionner

c1 c2 ______ 44 NULL 48 NULL 45 44 46 44 47 44 50 44 49 46 51 48
Merci à ceux qui aurait une réponse à me soumettre
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

ViPHP
ViPHP | 2577 Messages

27 sept. 2012, 11:17

Ajoutes une troisième colonne if isnull(c2) then 0 else 1 end as c3 et tri sur cette colonne en premier.

(la syntaxe est approximative, mais avec la doc mysql tu dois pouvoir t'en sortir)

Mammouth du PHP | 1967 Messages

27 sept. 2012, 15:11

Merci j'ai testé et cherché voici la requète qui fonctionne
SELECT [les champs necéssaire], IF(c2 <=> NULL,0,1) AS c3
FROM [table]
WHERE [condition(s)]
ORDER BY c3 ASC, c1 ASC
Merci bien
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube