classer par ordre croissant sauf 0

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 : classer par ordre croissant sauf 0

par Patriboom » 26 mai 2009, 18:50

Avec la méthode de Zeus poussée un peu plus, tu peux remplacer tes 0 par une lettre, les lettre viendront après les nombres, peu importe la taille des nombres.

par zeus » 26 mai 2009, 18:41

Tu as aussi la possibilité de faire un

Code : Tout sélectionner

ORDER BY CASE tonChamp = 0 WHEN 99999999 THEN tonChamp
, ce qui reviens à transformer ton 0 en 99999999 et donc le mettre à la fin

Toutefois, mise en garde

1/ Avec cette astuce, aucun index sur le champ ne pourra être utilisé, et ta requête pourrait devenir très longue

2/ Tu prends le risque que, un jour, un nombre dépasse le chiffre que tu places et tu vas te retrouver avec ton 0 au milieu des autres enregistrements.
Et à la réponse "il faut choisir un nombre plus grand", je rétorque que ce n'est que déplacer le problème sous le tapis en attendant qu'il se reproduise.

par AB » 26 mai 2009, 18:33

A moins de faire un tri en recréant un tableau d'après le résultat de ta requête, je vois pas.

classer par ordre croissant sauf 0

par Invité » 26 mai 2009, 15:06

Bonjour,

voila je sais pas si c'est possible, lorsque je fais afficher mes enregistrements je veux qu'il soit affiché par ordre croissant, donc pour ça dans ma requête order by. Mais je voudrai que si il y a des 0 celui ci soit pas au début mais a la fin.

merci d'avance