Ceci est mon code pour l'instant: mais je veux qu'il ressemble à: p> Ce que je veux faire est avoir tous est-ce possible? p> J'utilise mysql. p> p> numéro code> code> null code> en haut du résultat, mais dès que le numéro code> n'est pas null code>, Trier par ID code> p>
3 Réponses :
Qu'en est-il de quelque chose comme ceci:
SELECT id, number FROM Media WHERE user = 10 ORDER BY (case when number is null then 0 else 1 end), id
C'est comme ça que je le fais normalement aussi.
Excellent! Réponse rapide, et cela a fonctionné pour la première fois que j'ai essayé. Merci!
Union pourrait également être utilisé.
SELECT id, number FROM Media WHERE user = 10 AND number IS NULL ORDER BY id UNION SELECT id, number FROM Media WHERE user = 10 AND number IS NOT NULL ORDER BY id, number;
Outre une syntaxe légèrement incorrecte (parenthèses manquantes), cela n'aura pas de sens car le Union code> ne garantira pas la préservation de la commande de Selectes individuelles. En outre, cela produit un plan d'exécution inutilement coûteux (deux null code> sur la colonne code> numéro code>).
La fonction ISNULL () renvoie 1 si le paramètre est null et 0 sinon. Mind You, terrible pour la performance en fonction du nombre de valeurs qu'il doit commander: aucun index ne sera utilisé en fonction de la commande par colonnes. p> p>